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

Интерфейс IComparer в C#

Интерфейс IComparer<T> описывает внешнее правило: метод Compare получает два объекта и возвращает отрицательное число, ноль или положительное.

Так отделяют порядок от данных - один и тот же тип можно сортировать по-разному разными comparer.

Сравним строки по длине. Положительный результат означает, что "aa" длиннее "b". Если строка не задана, метод считает её длину нулевой:

Console.WriteLine(new ByLength().Compare("aa", "b")); class ByLength : IComparer<string> { public int Compare(string? x, string? y) => (x?.Length ?? 0).CompareTo(y?.Length ?? 0); }

Сравните "moon" и "sun" по длине и выведите знак.

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