Programming-Basics-Book-CSharp-BG

Деклариране на локални функции

Нека отново разгледаме примера от по-горе.

В този пример, методът Result() е локална функция, тъй като е вложен в метода Main(), т.е. Result() е локален за Main(). Това означава, че методът Result() може да бъде използван само в метода Main(), тъй като е деклариран в него. Единствената разлика между вложените методи и обикновените методи е, че вложените методи не могат да бъдат static. Тъй като дефиницията за static метод се разглежда на по-късен етап, за момента ще приемем, че при декларирането на една локална функция, изписваме единствено типa на връщаната стойност, името на метода и списъка му с параметри. В конкретния разглеждан случай, това е double Result(double a, double b).

Локалните функции имат достъп до променливи, които се използват в съдържащия ги метод. Следващият пример демонстрира как се случва това.

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