我发现自己做越来越多的事情是检查一个空的字符串(如""或null)和有条件的操作员。

当前示例:

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

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

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

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

有谁知道一种更好的方法,即使仅在.NET 4.0中?

答案

没有内置的方法可以做到这一点。您可以使扩展方法返回一个字符串或无效,但是,这将使合并操作员能够工作。但是,这很奇怪,我个人更喜欢您当前的方法。

由于您已经使用了扩展方法,为什么不只是制作返回值或默认值的方法:

string result = s.SiteNumber.ConvertNullOrEmptyTo("No Number");

来自: stackoverflow.com