Junior — Middle
Kāds ir rezultāts, izsaucot metodi GetHashCode objektā .NET?
sobes.tech AI
Atbilde no AI
Metode GetHashCode .NET atgriež objekta veselu skaitlišku (hash kodu), kas tiek izmanto, lai ātri salīdzinātu objektus, piemēram, glabājot tos hash tabulās (Dictionary, HashSet). Pēc noklusējuma tas tiek ģenerēts, balstoties uz objekta iekšējo stāvokli, bet to var pārrakstīt, lai nodrošinātu pareizu darbību kolekcijās un salīdzināšanā.
Piemērs, kā pārrakstīt GetHashCode kopā ar 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);
}
}
Svarīgi, lai objekti, kas uzskatīti par vienādi pēc Equals, būtu ar vienādu hash kodu.