* При перепечатке материалов ссылка на www.SeoLiga.ru обязательна! RSS



Локальные функции
6 февраля 2009

Это функции, определённые внутри других функций, подобный механизм реализован в Delphi, а в C# хоть и нет локальных функций, но есть лямбда-выражения, о которых речь пойдёт дальше, а пока рассмотрим как они позволяют определить локальную функцию:
static void Main(string[] args)
{
Func<int, int, long> Factorial = null;
Factorial = (n, a) => n > 1 ? Factorial(n-1, a*n) : a;

for (int i=0; i<10; i++)
Console.WriteLine("{0}! = {1}", i, Factorial(i, 1));
Console.ReadLine();
}

Этот код эвивалентен коду из пункта №1, но, обрати внимание, функция Factorial стала локальной!


Теги: .NET

Статьи по теме:

Наследование от абстрактного класса
Применение отладочных инструментов
Вызов функций Windows API
Интерфейсы CTS
Реализация членов интерфейса на Visual Basic .NET
Назначение значка элементу управления
Сборщик мусора
Типы данных .NET Framework
Генерация исключений
Развертывание проекта
Рекурсия
Создание составных элементов управления
Компиляция и исполнение .NET-приложений
Применение трассировочных переключателей
Работа с классом Help
| .NET | Pavel |
 


Пн Вт Ср Чт Пт Сб Вс
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31


     



Данный сайт или домен продается

© 2009 Seoliga.ru | .NET | Локальные функции. Регион сайта: Москва и Санкт-Петербург