C# - 如何测试实例是否为其类型的默认值

时间:2009-10-11 14:54:55

标签: c#

给定一个未知引用或值类型的实例,有没有办法测试实例是否包含该类型的默认值?我设想这样的事情......

bool IsDefaultValue(object value)
{
    return value == default(value.GetType());
}

当然,这不起作用,因为GetType返回运行时类型,但我希望有人可以建议类似的技术。感谢。

1 个答案:

答案 0 :(得分:9)

static bool IsDefaultValue<T>(T input)
{
    return Object.Equals(input, default(T));
}

注意:使用泛型类型T不能使用==进行相等。