Поскольку вы создаете разных экземпляров одного и того же класса.Каждый экземпляр класса имеет свой собственный хеш-код, и хеш-код используется для идентификации объекта в памяти вашей программы, даже если они оба используют одни и те же значения полей.
Однако, если вы это сделаете, он будетнапишите «Same», потому что вы просто создаете две переменные, которые указывают на один и тот же объект (т.е. вы передаете ссылку c1
на объект c2
):
myclass c1 = new myclass();
myclass c2 = c1;
if (c1.GetHashCode() == c2.GetHashCode())
Console.Write("Same");
OfКонечно, я не думаю, что это то, чего вы хотите достичь.