我发现自己做的越来越多的事情是检查字符串是否为空(如 in""或 null)和条件运算符。
""
当前的示例:
s.SiteNumber.IsNullOrEmpty() ? "No Number" : s.SiteNumber;
这只是一个扩展方法,它相当于:
string.IsNullOrEmpty(s.SiteNumber) ? "No Number" : s.SiteNumber;
因为它是空的而不是空的,??所以不会成功。一个string.IsNullOrEmpty()版本??将是完美的解决方案。我认为必须有一种更清洁的方式来做到这一点(我希望!),但我一直不知所措。
??
string.IsNullOrEmpty()
有没有人知道更好的方法来做到这一点,即使它只在.Net 4.0 中?
没有内置的方法可以做到这一点。但是,您可以使您的扩展方法返回一个字符串或 null,这将允许合并运算符工作。然而,这会很奇怪,我个人更喜欢你目前的方法。
既然您已经在使用扩展方法,为什么不创建一个返回值或默认值的方法:
string result = s.SiteNumber.ConvertNullOrEmptyTo("No Number");