有没有一种速记方法来在C#中对字符串进行去除?

时间:2010-04-21 10:40:39

标签: c# .net string null

是否有一种速记方法可以在C#中对字符串进行去块化?

它相当于(如果'x'是一个字符串):

string y = x == null ? "" : x;

我想我希望有一些运算符会起作用:

string y = #x;
一厢情愿,是吧?

我到目前为止最接近的是字符串类的扩展方法:

public static string ToNotNull(this string value)
{
    return value == null ? "" : value;
}

允许我这样做:

string y = x.ToNotNull();

对此有何改进,任何人?

2 个答案:

答案 0 :(得分:16)

这将有效:

string y = x ?? "";

请参阅http://msdn.microsoft.com/en-us/library/ms173224.aspx

答案 1 :(得分:0)

如果您需要这种方法,而不是扩展方法,您可能需要考虑创建自己的类型,其行为类似于Nullable,并且与System.Nullable.GetValueOrDefault()共享相同的用法;方法。不幸的是,您只能在值类型上使用System.Nullable,因此您无法将可为空的字符串作为标准。