Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
428 of 1492 menu
◀ ▶

Интерфейс IEquatable

Интерфейс IEquatable<T> объявляет метод Equals без упаковки. Базовые типы вроде int его реализуют, что ускоряет Contains.

Синтаксис

bool Equals(T other);

Пример

Давайте сравним два int:

using System; using System.Collections.Generic; class Program { static void Main() { Console.WriteLine(1.Equals(1)); } }

Результат выполнения кода:

True

Пример

Давайте получим False для разных:

using System; using System.Collections.Generic; class Program { static void Main() { Console.WriteLine(1.Equals(2)); } }

Результат выполнения кода:

False

Пример

Давайте проверим Contains в списке:

using System; using System.Collections.Generic; class Program { static void Main() { List<int> nums = new List<int> {1, 2, 3, 4, 5}; Console.WriteLine(nums.Contains(3)); } }

Результат выполнения кода:

True

Пример

Давайте сравним строки:

using System; using System.Collections.Generic; class Program { static void Main() { string a = "abcde"; Console.WriteLine(a.Equals("abcde")); } }

Результат выполнения кода:

True

Смотрите также

  • метод Equals,
    который проверяет равенство
  • интерфейс IEqualityComparer,
    который задаёт чужое равенство
  • класс EqualityComparer,
    который даёт готовые comparer
  • метод Contains,
    который использует равенство элементов
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить