Junior — Middle
Kādus soļus jāveic, lai izmantotu savu klasi kā atslēgu vārdnīcas kolekcijā?
sobes.tech AI
Atbilde no AI
Lai izmantotu savu klasi kā atslēgu Dictionary<TKey, TValue> C# valodā, ir jānodrošina pareiza atslēgu salīdzināšana un to hash kodu aprēķins. Tam ir jā:
- Pārrakstīt metodi
Equals(object obj), lai tā pareizi salīdzinātu jūsu klases objektus pēc nozīmīgajiem laukiem. - Pārrakstīt metodi
GetHashCode(), lai vienādi uzskatīti objekti būtu ar vienādu hash kodu.
Piemērs:
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);
}
}
Alternatīvi, jūs varat īstenot IEqualityComparer<T> saskarni un nodot to konstruktoram, ja nevēlaties mainīt pašu klasi.