[英]C# String interpolation. Use string when decimal? is null
我有以下C $ String插值:
decimal? approved = null;
var text = $"new {{ Approved = { approved ?? ""null"" } }}"
在這種情況下,由於approved為null,因此文本值應為:
new { Approved = null }
但我得到一個編譯錯誤:
Operator '??" cannot be applied to operands of type 'decimal?' and 'string'
如果我使用以下內容:
var text = "new {{ Approved = { approved } }}"
文本值將成為我不想要的以下內容:
new { Approved = }
decimal? approved = null;
var text = $"new {{ Approved = { (approved?.ToString() ?? "null") } }}";
空合並算子的兩邊??
需要是相同的類型,所以調用ToString
並添加空條件運算符?
確保不會拋出NRE。
您發布的代碼無法編譯。 你不能這樣做:var approved = null。 要獲得你想要的東西,你需要這樣做:
decimal? approved = null;
var text = new { Approved = approved == null ? "null" : approved.ToString() }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.