Mr.*_*Boy 2 c# null conditional-operator null-coalescing-operator string-interpolation
string o=null;
Console.WriteLine($"Hello World '{o}'");
Run Code Online (Sandbox Code Playgroud)
这输出:
你好世界 ''
我想明确地为空值写“null”。
string o=null;
Console.WriteLine($"Hello World '{o??"null"}'");
Run Code Online (Sandbox Code Playgroud)
这就是这样做的:
你好世界“空”
但如果o不是类型string(或Object),则会生成编译错误。例如:
Array o=null;
Console.WriteLine($"Hello World '{o??"null"}'");
Run Code Online (Sandbox Code Playgroud)
编译错误运算符'??' 不能应用于“Array”和“string”类型的操作数
达到预期结果的最佳方法是什么?遗憾的是您无法修改$句柄的方式null,因为它似乎是硬编码的使用方式String.EmptyString
您可以进行强制转换"null",object以便??可以应用于所有类型的操作数。
$"Hello World '{o ?? (object)"null"}'"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1632 次 |
| 最近记录: |