[英]How are null values in C# string interpolation handled?
在C#6.0中,添加了字符串插值。
string myString = $"Value is {someValue}";
在上面的例子中如何處理空值? (如果someValue
為null)
編輯:只是為了澄清,我已經測試並且意識到它沒有失敗,問題被打開以確定是否有任何需要注意的情況,我必須在使用字符串插值之前檢查空值。
這與string.Format("Value is {0}", someValue)
,它將檢查null
引用並用空字符串替換它。 但是,如果您實際傳遞null
,則會拋出異常,如此string.Format("Value is {0}", null)
。 但是在$"Value is {null}"
的情況下, null
被設置為參數而不會拋出。
從TryRoslyn開始 ,它被反編譯為;
string arg = null;
string.Format("Value is {0}", arg);
和String.Format
將使用空字符串作為null
值。 在格式方法簡介部分;
如果參數的值為
null
,則格式項將替換為String.Empty
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.