Встречается на собеседованиях • сегодня

Что такое equals

Метод Equals в C# используется для сравнения объектов на равенство. Он определен в классе Object и может быть переопределен в производных классах для реализации пользовательской логики сравнения.

Основные моменты:

  • По умолчанию Equals для ссылочных типов сравнивает ссылки (как ==), а для значимых типов — значения.
  • Для строк Equals сравнивает содержимое, а не ссылки.
  • Рекомендуется переопределять Equals, если переопределяется GetHashCode.

Пример:

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;
}

var p1 = new Person { Name = "Alice" };
var p2 = new Person { Name = "Alice" };
Console.WriteLine(p1.Equals(p2)); // true (сравнение по имени)
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы