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

Операторы над своими типами в C#

Числа и строки давно участвуют в коротких выражениях: складывают, сравнивают, берут элемент по номеру. Для своего класса ту же привычную запись оставляют, когда операция имеет ясный смысл для всех объектов этого типа.

Так код читается как предметная задача, а не как цепочка вызовов методов с длинными именами. Сложение двух векторов, сравнение двух версий или доступ к ячейке внутри обертки над массивом - типичные случаи, где знак в выражении уместен.

Перегрузку имеет смысл вводить там, где знак однозначно описывает действие над полями объекта и не путает читателя. Если правило спорное или зависит от контекста программы, лучше оставить обычный метод с говорящим именем.

Исходные операнды чаще не меняют: сложение и сравнение возвращают новый результат или bool, а не переписывают левый объект. Так же устроены многие операции над встроенными типами, и для своих классов разумно сохранять это ожидание.

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