提问人:ISquared 提问时间:11/9/2023 更新时间:11/9/2023 访问量:81
字符串插值、字符串格式化和空合并运算符
String interpolation, string formatting and null coalescing operator at once
问:
我需要这个: 如果以下格式化值为 null,则显示 N/A。否则,显示格式化值。它需要使用字符串插值。我尝试做一些类似嵌套插值的事情:
$"{$"({someValue:N0})" ?? "N/A" }"
但结果只是空字符串。 使用 .NET 7。
答:
0赞
MediocreFantasy
11/9/2023
#1
我相信你在这里的问题是$“({someValue:N0})”永远不会计算为null,因为{}之外的()。我在这里要做的是:
(someValue == null ? "N/A" : $"({someValue:N0})"
这本质上是一个内联 if/else 语句,其中 前面的部分是条件,第一个字符串(在 之前)是条件为 true 时得到的,第二个字符串是条件为 false 时得到的。?
:
评论
null
?? "N/A"
someValue?.ToString("N0") ?? "N/A"
null
!
null
string
null