我希望能夠檢查某個值是否爲其值類型的默認值。理想情況下,我想說:使用泛型類型進行缺省值檢查
DoSomething<TValue>(TValue value) {
if (value == default(TValue)) {
...
}
}
然而,編譯器抱怨說,它不能對TValue和TValue一個==
比較。這是我想出來的迄今爲止最好的解決方法:
DoSomething<TValue>(TValue value) {
if (value == null || value.Equals(default(TValue))) {
...
}
}
有沒有去這更優雅/正確的方法?
如果你拋出''類'約束你可能只是檢查'null' ... – 2010-02-02 20:48:49
@Marc - 我知道,在這一點上它是一個問題的偏好。 – ChaosPandion 2010-02-02 20:51:48
我希望能夠爲任何類型的工作,包括價值和類的類型。 – StriplingWarrior 2010-02-02 21:02:27