速记不为空C#

时间:2011-06-30 14:38:19

标签: c# c#-4.0

是否可以像这样做一个条件非空?

object e = !string.IsNullOrEmpty(c) ?? d;
有可能吗?

3 个答案:

答案 0 :(得分:8)

您可以尝试下面的内容。

object e = !String.IsNullOrEmpty(c) ? c : d;

答案 1 :(得分:3)

你可以做到

object e = (string.IsNullOrEmpty(c) ? d : c);

答案 2 :(得分:1)

你可以做一个扩展方法:

public static object DontReplaceIfNullOrEmpty(this object c, object d)
    {
        if(c is string)
            return !string.IsNullOrEmpty((string) c) ? c: d;

        return c ?? d;
    }



object e = c.DontReplaceIfNull(d);