Основы C#
Теория: Цепочки вызовов методов
Обработка данных может состоять из достаточно большого количества шагов, которые нужно выполнить. Возьмем для примера такую задачу: На основе введенного пользователем названия статьи сформировать адрес страницы в интернете. Такая задача часто возникает при публикации статей в блогах. Подобные адреса выглядят так: https://ru.hexlet.io/blog/posts/iz-vahtovika-v-programmirovanie. Последняя часть здесь iz-vahtovika-v-programmirovanie создана автоматически кодом, который мы написали на Хекслете. Кстати у нее есть специальное название – это слаг.
Какие шаги нужно выполнить чтобы получить подобную строку? Вот лишь некоторые из них:
- Перевести все в нижний регистр, чтобы случайно не создавались дубли одинаковых страниц в поисковых системах
- Очистить название от пробельных символов на концах. Там они могут случайно появиться при вводе названия
- Выполнить транслитерацию. Лучше когда в адресах только символы латинского алфавита
- Вырезать все специальные символы, такие как вопросы, восклицательные знаки и т.п.
- Заменить все пробелы на дефисы
Часть шагов тут требует новых для нас знаний, поэтому мы их опустим. Остальные шаги будут выглядеть примерно так:
Если внимательно посмотреть на этот код, то можно заметить общий шаблон. Метод возвращает данные, которые мы присваиваем переменные и дальше, по цепочке, обрабатываем. Этот шаблон можно упростить, убрав промежуточное перезаписывание переменной:
Благодаря тому, что каждый метод возвращает новую строку, мы можем продолжать обрабатывать ее вызывая методы подряд. Если цепочка методов становится слишком длинной, то ее можно разбить на несколько строк:
Несмотря на удобство этого механизма, им не стоит злоупотреблять. Иногда промежуточные переменные могут упростить понимание кода.

