У меня есть класс Person, для которого я должен переопределить метод Equals и GetHashCode. Объекты с двумя объектами равны, если имя совпадает с ИЛИ, если совпадает адрес электронной почты. Каков хороший способ сделать это с помощью значительно эффективной хэш-функции?GetHashCode Внедрение Equals для класса в C#
class Person
{
string Name
string Email
public override Equals(object obj)
{
if (ReferenceEquals(obj, null))
return false;
if (ReferenceEquals(this, obj))
return true;
if (obj is Person)
{
Person person = (Person)obj;
return
(this.Name == person.Name)
|| (this.Email == person.Email);
}
return false;
}
public override GetHashCode()
{
// What's a good way to implement?
}
}
Возможный дубликат [Что является лучшим алгоритмом для переопределенного System.Object.GetHashCode?] (Http://stackoverflow.com/questions/263400/what-is-the-best-algorithm-for-an-overridden -system-object-gethashcode) – Gonzalo
@Gonzalo: Это абсолютно * не * дубликат этого. Это совсем другая ситуация. –