Der folgende Code ist gegeben, ich möchte nur zwei Objekte in einer generischen Klasse vergleichen.Vergleich der typisierten Objekte in der generischen Klasse
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'
}
Kann jemand erklären, warum es nicht möglich ist, diese beiden Objekte in dieser generischen Klasse zu vergleichen?
Ist die 'default (T)' nur so ein Beispiel, oder ist das eigentlich der Fall, den Sie vergleichen möchten? Sonst würde ich sagen, dass es immer nur "wahr" ist, solange der Implementierer einer Struktur nicht völlig unkonventionell ist mit dem Überschreiben von '=='. – MicroVirus