在C#6.0中,添加了字符串插值.
string myString = $"Value is {someValue}";
Run Code Online (Sandbox Code Playgroud)
在上面的例子中如何处理空值?(如果someValue为null)
编辑: 只是为了澄清,我已经测试并且意识到它没有失败,问题被打开以确定是否有任何需要注意的情况,我必须在使用字符串插值之前检查空值.
juh*_*arr 22
这与string.Format("Value is {0}", someValue)检查null引用并用空字符串替换它的方法相同.但是,如果您实际传递null这样的话会引发异常string.Format("Value is {0}", null).但是,在这种情况下$"Value is {null}",null首先设置为参数,不会抛出.
Son*_*nül 15
从TryRoslyn开始,它被反编译为;
string arg = null;
string.Format("Value is {0}", arg);
Run Code Online (Sandbox Code Playgroud)
并且String.Format将使用空字符串null值.在格式方法简介部分;
如果参数的值为
null,则格式项将替换为String.Empty.