以下内容无法编译:
public void MyMethod<T>(T value)
{
if (value == default(T))
{
// do stuff
}
}
错误: Operator '==' cannot be applied to operands of type 'T' and 'T'
我不能使用 value == null,因为 T可能是一个 struct。
我不能使用 value.Equals(default(T)),因为 value可能是 null。
测试是否与默认值相等的正确方法是什么?
 
                                
                            