Sobes.tech
Junior — Middle

¿Qué resultado da la llamada al método GetHashCode en un objeto en .NET?

sobes.tech AI

Respuesta de la IA

El método GetHashCode en .NET devuelve un valor entero (código hash) que se utiliza para comparar objetos rápidamente, por ejemplo, al almacenarlos en tablas hash (Dictionary, HashSet). Por defecto, se genera en función del estado interno del objeto, pero puede ser sobrescrito para garantizar un funcionamiento correcto en colecciones y al comparar objetos.

Ejemplo de sobrescritura de GetHashCode junto con 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);
    }
}

Es importante que los objetos considerados iguales por Equals tengan el mismo código hash.