Sobes.tech
Junior — Middle

Ce rezultat oferă apelul metodei GetHashCode pe un obiect în .NET?

sobes.tech AI

Răspuns de la AI

Metoda GetHashCode în .NET returnează o valoare întreagă (cod hash) utilizată pentru compararea rapidă a obiectelor, de exemplu, atunci când sunt stocate în tabele hash (Dictionary, HashSet). În mod implicit, este generată pe baza stării interne a obiectului, dar poate fi suprascrisă pentru a asigura funcționarea corectă în colecții și la compararea obiectelor.

Exemplu de suprascriere a GetHashCode împreună cu 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);
    }
}

Este important ca obiectele considerate egale de Equals să aibă același cod hash.