簡體   English   中英

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

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM