【发布时间】:2010-02-02 20:32:53
【问题描述】:
我希望能够检查一个值是否是其值类型的默认值。理想情况下,我想说:
DoSomething<TValue>(TValue value) {
if (value == default(TValue)) {
...
}
}
但是,编译器抱怨它无法对 TValue 和 TValue 进行== 比较。这是迄今为止我想出的最好的解决方法:
DoSomething<TValue>(TValue value) {
if (value == null || value.Equals(default(TValue))) {
...
}
}
有没有更优雅/正确的方法来解决这个问题?
【问题讨论】: