在C#6.0中,添加了字符串插值。
string myString = $"Value is {someValue}";
以上示例中如何处理空值? (如果someValue
为空)
修改 只是为了澄清,我已经测试过并且意识到它没有失败,问题被打开以确定是否有任何需要注意的情况,我必须在使用字符串插值之前检查空值。
答案 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
。