有没有一种简化的方式来取消在C#中的字符串?有没有一种简化的方式来取消在C#中的字符串?
这将是等效的(如果“X”是一个字符串):
string y = x == null ? "" : x;
我猜我希望有一些运营商,将工作是这样的:
string y = #x;
如意想,嗯?
我走到这一步,是对String类的扩展方法最接近:
public static string ToNotNull(this string value)
{
return value == null ? "" : value;
}
,让我做的事情:
string y = x.ToNotNull();
上的任何改进,任何人吗?
我避免使用空字符串来避免此问题。如果别人正在创建空字符串,暴力可能是必要的。因人而异。 – Greg 2010-04-21 10:47:21
您最后一个例子的工作原理非常可怕,因为您在对象上调用方法来检查对象是否为null。我知道它是由于扩展方法是静态的,但它看起来有点不对劲。 – ntziolis 2010-04-21 10:48:24
空字符串是邪恶的,用String.Empty实例化并避免如上所述的逻辑。 – 2010-04-21 10:51:30