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.