Имя Пароль
Зарегистрироваться


* При перепечатке материалов ссылка на 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

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

Системные кисти, перья и цвета
Доступ к «плоским» файлам
Проверка разрешений, запрашиваемых установленной сборкой
Динамические свойства
Отображение сообщений об ошибках
Распространение приложений через Интернет
Перечисления CTS
Формы, элементы управления и меню
Модификаторы доступа для вложенных типов
Автоматизация разработки
Реализация полиморфизма через интерфейсы
Создание абстрактных членов
Стыковка и фиксация элементов управления
Ресурсы и ресурсные сборки
Обработка ошибок при обновлении базы данных
| .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


     



Rambler's Top100

Данный сайт или домен продается ICQ: 403-353-727

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