小编典典

?? 合并空字符串?

all

我发现自己做的越来越多的事情是检查字符串是否为空(如 in""或 null)和条件运算符。

当前的示例:

s.SiteNumber.IsNullOrEmpty() ? "No Number" : s.SiteNumber;

这只是一个扩展方法,它相当于:

string.IsNullOrEmpty(s.SiteNumber) ? "No Number" : s.SiteNumber;

因为它是空的而不是空的,??所以不会成功。一个string.IsNullOrEmpty()版本??将是完美的解决方案。我认为必须有一种更清洁的方式来做到这一点(我希望!),但我一直不知所措。

有没有人知道更好的方法来做到这一点,即使它只在.Net 4.0 中?


阅读 64

收藏
2022-07-17

共1个答案

小编典典

没有内置的方法可以做到这一点。但是,您可以使您的扩展方法返回一个字符串或 null,这将允许合并运算符工作。然而,这会很奇怪,我个人更喜欢你目前的方法。

既然您已经在使用扩展方法,为什么不创建一个返回值或默认值的方法:

string result = s.SiteNumber.ConvertNullOrEmptyTo("No Number");
2022-07-17