Встречается на собеседованиях • сегодня
Для чего нужен метод Equals
Метод Equals используется для сравнения объектов на равенство. В отличие от оператора ==, который сравнивает ссылки, Equals может быть переопределён для сравнения по значению.
По умолчанию Equals в классе Object сравнивает ссылки (как ==), но его часто переопределяют в пользовательских классах для логического сравнения полей.
Пример:
csharp
public class Person
{
public string Name { get; set; }
public override bool Equals(object obj)
{
if (obj is Person other)
return Name == other.Name;
return false;
}
public override int GetHashCode() => Name?.GetHashCode() ?? 0;
}Нюансы:
- Всегда переопределяйте
GetHashCode, если переопределяетеEquals(иначе нарушится контракт хеш-таблиц). - Для структур
Equalsпо умолчанию сравнивает все поля через рефлексию (медленно), поэтому лучше переопределять. - Для строк
Equalsсравнивает содержимое, а не ссылки.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы