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

Класс EqualityComparer

Класс EqualityComparer<T> реализует IEqualityComparer<T>. Свойство Default возвращает comparer по умолчанию.

Синтаксис

EqualityComparer<T> cmp = EqualityComparer<T>.Default;

Пример

Давайте сравним int через Default:

using System; using System.Collections.Generic; class Program { static void Main() { Console.WriteLine(EqualityComparer<int>.Default.Equals(2, 2)); } }

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

True

Пример

Давайте сравним хеш числа с самим собой:

using System; using System.Collections.Generic; class Program { static void Main() { Console.WriteLine(EqualityComparer<int>.Default.GetHashCode(1) == EqualityComparer<int>.Default.GetHashCode(1)); } }

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

True

Пример

Давайте проверим 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(4)); } }

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

True

Пример

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

using System; using System.Collections.Generic; class Program { static void Main() { Console.WriteLine(EqualityComparer<string>.Default.Equals("a", "a")); } }

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

True

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

  • свойство Default,
    которое возвращает comparer типа
  • класс Comparer,
    который отвечает за порядок
  • интерфейс IEqualityComparer,
    который описывает контракт
  • интерфейс IEquatable,
    который ускоряет сравнение
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить