在SQL Server中,您可以使用该IsNull()
函数检查值是否为null,如果是,则返回另一个值.现在我想知道C#中是否有类似的东西.
例如,我想做类似的事情:
myNewValue = IsNull(myValue, new MyValue());
代替:
if (myValue == null) myValue = new MyValue(); myNewValue = myValue;
谢谢.
它被称为null coalescing(??
)运算符:
myNewValue = myValue ?? new MyValue();
遗憾的是,没有相当于与DBNull一起使用的null合并运算符; 为此,您需要使用三元运算符:
newValue = (oldValue is DBNull) ? null : oldValue;
public static T isNull(this T v1, T defaultValue) { return v1 == null ? defaultValue : v1; } myValue.isNull(new MyValue())