c# - 这是使用泛型检查空值的最佳方法吗?

标签 c# generics

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/

相关文章:

c# - 如何存储猜谜游戏的分数?

java - 遍历异构容器

c# - 在 UML 类图中表示 C# 泛型方法

Java 使用泛型进行模糊方法调用

c# - 拖放到桌面/资源管理器

c# - 如果项目文本为空,则跳过部分查询

c# - 如何制作这个通用方法?

java - 在类中实现后覆盖接口(interface)中声明的方法的返回类型

c# - 如何忽略ThenInclude的相关数据?

c# - 后台线程上的 WPF BusyIndi​​cator