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

Интерфейс IComparable

Интерфейс IComparable<T> объявляет метод CompareTo. Типы вроде int реализуют его, поэтому List<int> можно сортировать без отдельного сравнивателя.

Синтаксис

int CompareTo(T other);

Пример

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

using System; using System.Collections.Generic; class Program { static void Main() { int a = 1; int b = 2; Console.WriteLine(a.CompareTo(b)); } }

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

-1

Пример

Давайте сравним равные числа:

using System; using System.Collections.Generic; class Program { static void Main() { int a = 2; int b = 2; Console.WriteLine(a.CompareTo(b)); } }

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

0

Пример

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

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

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

1 2 3 4 5

Пример

Давайте проверить порядок строк:

using System; using System.Collections.Generic; class Program { static void Main() { string a = "a"; string b = "b"; Console.WriteLine(a.CompareTo(b) < 0); } }

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

True

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

  • метод CompareTo,
    который сравнивает два значения
  • интерфейс IComparer,
    который сравнивает чужие объекты
  • метод Sort,
    который использует IComparable
  • класс Comparer,
    который даёт готовые сравниватели
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить