Если ссылочный тип не перегружает оператор равенства ==
, тогда вместо него будет использоваться оператор равенства на основе Object
. Почему это не верно для пользовательских structs
:
struct A{ }
static void Main(string[] args)
{
A a = new A();
A a1 = new A();
bool equal= (a == a1); //error
}
А именно, не ValueType
(из которого все вывод structs
) также перегружает оператор ==
?