Di seguito viene fornito il codice, voglio solo confrontare due oggetti all'interno di una classe generica.Confronto di oggetti dattilografati nella classe generica
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'
}
Qualcuno può spiegare perché non è possibile confrontare questi due oggetti in questa classe generica?
È il 'predefinito (T)' proprio come un esempio, o è proprio questo il caso che vuoi confrontare? Altrimenti, direi che è sempre sempre 'true', a patto che l'implementatore di una struct non sia diventato completamente bizzarro con overriding' == '. – MicroVirus