Равенство объектов ведет себя по-разному в .NET

У меня есть эти заявления и их & apos; результаты рядом с ними.

<code>string a = "abc";
string b = "abc";

Console.Writeline(a == b); //true

object x = a;
object y = b;

Console.Writeline(x == y); // true

string c = new string(new char[] {'a','b','c'});
string d = new string(new char[] {'a','b','c'});

Console.Writeline(c == d); // true

object k = c;
object m = d;

Console.Writeline(k.Equals(m)) //true

Console.Writeline(k == m); // false
</code>

Почему последнее равенство дает мне ложь?

Вопрос в том, почему (x == y) верно (k == m) неверно

Ответы на вопрос(9)

Ваш ответ на вопрос