Назад к вопросам
OZON
Junior — Middle
77
Какова роль метода Equals при работе с ключами в коллекции Dictionary?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
Метод Equals в C# используется для определения равенства объектов. В коллекции Dictionary он играет ключевую роль при сравнении ключей, чтобы определить, существуют ли уже такие ключи в словаре. Если два ключа считаются равными по Equals, то они считаются одним и тем же элементом, и значение будет обновлено.
Важно, чтобы класс ключа корректно переопределял методы Equals и GetHashCode, иначе Dictionary может работать некорректно.
Пример переопределения:
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);
}
}