【发布时间】:2016-07-26 18:27:28
【问题描述】:
给出以下代码,我只想比较泛型类中的两个对象。
public bool Compare<T>()
{
T var1 = default(T);
T var2 = default(T);
return var1 == var2;
//Error CS0019 Operator '==' cannot be applied to operands of type 'T' and 'T'
}
谁能解释为什么不能在这个泛型类中比较这两个对象?
【问题讨论】:
-
default(T)只是作为一个例子,还是您想要比较的实际情况?否则,我会说它总是true,只要结构的实现者没有完全古怪地覆盖==。