有沒有一種簡化的方式來取消在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