public static T IsNull<T>(object value, T defaultValue)
{
    return ((Object.Equals(value,null)) | (Object.Equals(value,DBNull.Value)) ?
        defaultValue : (T)value);
}

public static T IsNull<T>(object value) where T :new()
{
    T defaultvalue = new T();
    return IsNull(value, defaultvalue);
}

已测试,可用于数据对象、类和变量。
只是想知道是否有更好的方法来解决这个问题。

最佳答案

看起来您正在尝试复制 null coalesce operator :

var foo = myPossiblyNullValue ?? defaultValue;

关于c# - 这是使用泛型检查空值的最佳方法吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2454504/

10-13 09:24