Локальные функции в C# | OTUS

Локальные функции в C#

Локальными функциями в C# называют функции, которые определены внутри других методов. Как правило, локальная функция содержит действия, применяемые лишь в рамках ее метода.

Для примера давайте определим метод, сравнивающий сумму чисел 2-х массивов:

muo_linux_grub_problems_menu1-1801-ffb81a.png

В нашем примере метод Compare принимает 2 массива, а потом последовательно вычисляет сумму элементов этих массивов, что позволяет узнать, в каком именно массиве сумма чисел будет больше. Да, все работает, но тут есть недостаток, который заключается в том, что повторяются действия, вычисляющие сумму массива:

muo_linux_grub_problems_menu1-1801-bd52c0.png

А что будет, если мы пожелаем сравнивать сумму лишь положительных либо четных чисел или как-нибудь по другому изменить логику сравнения? Лучший выход -- вынос повторяющихся действий в отдельный метод. Но если данные действия больше нигде в программе вызываться не будут и станут применяться лишь в одном методе, то есть смысл определить данные действия в качестве локальной функции. Чтобы это реализовать, изменим метод Compare:

muo_linux_grub_problems_menu1-1801-8fe37a.png

В результате мы вынесли подсчет суммы в локальную функцию Sum -- она принимает массив, возвращая его сумму. Далее, в рамках метода Compare можно ее задействовать в целях вычисления суммы массива. Причем неважно, определена ли локальная функция до либо после применения. Главное, что вне своего метода она использоваться не сможет.

По материалам https://metanit.com/sharp/tutorial/.

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
0 комментариев
Для комментирования необходимо авторизоваться
Популярное
Сегодня тут пусто