如何处理C#字符串插值中的空值?

时间:2016-03-09 15:05:35

标签: c# c#-6.0

在C#6.0中,添加了字符串插值。

string myString = $"Value is {someValue}";

以上示例中如何处理空值? (如果someValue为空)

修改 只是为了澄清,我已经测试过并且意识到它没有失败,问题被打开以确定是否有任何需要注意的情况,我必须在使用字符串插值之前检查空值。

2 个答案:

答案 0 :(得分:19)

这与检查string.Format("Value is {0}", someValue)引用并将其替换为空字符串的null相同。但是,如果您实际传递null string.Format("Value is {0}", null),则会引发异常。但是在$"Value is {null}"的情况下,null首先设置为参数而不会抛出。

答案 1 :(得分:12)

TryRoslyn开始,它被反编译为;

string arg = null;
string.Format("Value is {0}", arg);

String.Format将使用空字符串表示null值。在The Format method in brief部分;

  

如果参数的值为null,则格式项将替换为   String.Empty