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

Операторы сравнения

Операторы operator < и operator > объявляют парой: если есть один, нужен второй. Аналогично парой идут operator <= и operator >=. Перегрузки возвращают bool и обычно сравнивают поля или составные части объекта.

Синтаксис

public static bool operator <(Тип left, Тип right) public static bool operator >(Тип left, Тип right)

Пример

Давайте проверим, что первый ранг больше второго:

using System; class Rank { public int Level; public static bool operator >(Rank left, Rank right) { return left.Level > right.Level; } public static bool operator <(Rank left, Rank right) { return left.Level < right.Level; } } class Program { static void Main() { var high = new Rank { Level = 5 }; var low = new Rank { Level = 2 }; Console.WriteLine(high > low); } }

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

True

Пример

Давайте проверим оператор operator <:

using System; class Rank { public int Level; public static bool operator >(Rank left, Rank right) { return left.Level > right.Level; } public static bool operator <(Rank left, Rank right) { return left.Level < right.Level; } } class Program { static void Main() { var high = new Rank { Level = 5 }; var low = new Rank { Level = 2 }; Console.WriteLine(low < high); } }

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

True

Пример

Давайте добавим пару operator <= и operator >=:

using System; class Score { public int Points; public static bool operator >(Score left, Score right) { return left.Points > right.Points; } public static bool operator <(Score left, Score right) { return left.Points < right.Points; } public static bool operator >=(Score left, Score right) { return left.Points >= right.Points; } public static bool operator <=(Score left, Score right) { return left.Points <= right.Points; } } class Program { static void Main() { var left = new Score { Points = 5 }; var right = new Score { Points = 5 }; Console.WriteLine(left <= right); } }

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

True

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

  • операторы == и !=,
    которые задают равенство объектов
  • операторы + и -,
    которые задают арифметику типа
  • тип bool,
    который возвращают операторы сравнения
  • метод Sort,
    которому нужен порядок элементов
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить