Я использую Entity Framework 5. В моем коде C# я хочу сравнить, если два объекта равны. Если нет, то я хочу выпустить обновление.Почему я должен переопределять .Equals и GetHashCode в C#
Мне сказали, что мне нужно переопределить метод .Equals, а затем также метод getascode. Мои классы выглядеть следующим образом:
public class Students {
public int PersonId { get; set; }
public string Name { get; set; }
public int Age {get; set;}
}
Может кто-нибудь объяснить, почему мне нужно переопределить .equals и .GetHashCode. Также может кто-нибудь дать мне пример. В частности, я не уверен в хэш-коде. Обратите внимание, что мой PersonId является уникальным номером для этого класса.
http://stackoverflow.com/questions/371328/why-is-it-important-to-override-gethashcode-when-equals -method-is-overridden –
@Melina вы много раз просили в комментариях, почему вам нужно переопределить 'GetHashCode'. Пожалуйста, прочитайте ответы на вопрос, связанный с @CodeIgnoto с *. –