.NET 7中如何结合字符串插值、格式化与空合并运算符
.NET 7 字符串插值处理空值问题
- 问题根源:当
someValue为null时,嵌套插值$"({someValue:N0})"生成的是空字符串而非null,因此??运算符不会触发,最终返回空结果。 - 正确的字符串插值写法:
// 适用于可空值类型(如int?)或引用类型 string result = $"{someValue is null ? "N/A" : $"({someValue:N0})"}"; - 另一种简洁写法(针对可空值类型):
// 先格式化再处理空值场景 string result = $"{someValue?.ToString("N0") ?? "N/A"}"; // 如需保留括号格式 string result = $"{someValue is null ? "N/A" : $"({someValue:N0})"}"; - 逻辑验证:
当
someValue存在有效值时,输出带括号的格式化数字(如(1234));当someValue为null时,直接显示N/A。
内容的提问来源于stack exchange,提问作者ISquared
相关产品推荐
相关产品推荐

