Sobes.tech
Junior — Middle

Какъв резултат дава извикването на метода GetHashCode върху обект в .NET?

sobes.tech AI

Отговор от AI

Методът GetHashCode в .NET връща цяло число (хеш код), което се използва за бързо сравняване на обекти, например при съхранение в хеш таблици (Dictionary, HashSet). По подразбиране, той се генерира въз основа на вътрешното състояние на обекта, но може да бъде презаписан, за да осигури правилна работа в колекции и при сравняване на обекти.

Пример за презаписване на GetHashCode заедно с Equals:

public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }

    public override bool Equals(object obj)
    {
        if (obj is Person other)
            return Name == other.Name && Age == other.Age;
        return false;
    }

    public override int GetHashCode()
    {
        return HashCode.Combine(Name, Age);
    }
}

Важно е обектите, които се считат за равни по Equals, да имат еднакъв хеш код.