Вот много почитал, но так до конца и не понял пока реального применения замыканий.
Кто может парой-тройкой Реальных примеров показать их применение.
Вот пишут, что замыкания имеют доступ к внешним переменным доступ,
но такой простой пример с анонимным методом тоже имеет доступ к внешней переменной sum
private delegate dynamic GetSum();
static void Main()
{
dynamic sum;
int[] arr = new[] {1, 4, 5};
GetSum delegateInstance = delegate() { return sum = arr.Sum(); };
delegateInstance();
}
M>M>private delegate dynamic GetSum();
M> static void Main()
M> {
M> dynamic sum;
M> int[] arr = new[] {1, 4, 5};
M> GetSum delegateInstance = delegate() { return sum = arr.Sum(); };
M> delegateInstance();
M> }
M>
это и есть замыкание
Здравствуйте, merge, Вы писали:
M>Вот пишут, что замыкания имеют доступ к внешним переменным доступ,
M>но такой простой пример с анонимным методом тоже имеет доступ к внешней переменной sum
Так это ж и есть замыкания
*Оффтоп:
Зачем dynamic?
Здравствуйте, Sinix, Вы писали:
S>Здравствуйте, merge, Вы писали:
M>>Вот пишут, что замыкания имеют доступ к внешним переменным доступ,
M>>но такой простой пример с анонимным методом тоже имеет доступ к внешней переменной sum
S>Так это ж и есть замыкания
S>*Оффтоп:
S>Зачем dynamic?
пример я высосал из пальца. Хочу понять, когда реальные примеры использования замыканий. Ссылочкой не поделитесь или парой примеров
Здравствуйте, merge, Вы писали:
M>пример я высосал из пальца. Хочу понять, когда реальные примеры использования замыканий. Ссылочкой не поделитесь или парой примеров
Тут их мегабайты
http://code.google.com/p/nemerle/source/browse/#svn/nemerle/trunk... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Может эта статья окажется для вас полезной:
Замыкания в языке программирования C#
Здравствуйте, merge, Вы писали:
M>Вот пишут, что замыкания имеют доступ к внешним переменным доступ,
M>но такой простой пример с анонимным методом тоже имеет доступ к внешней переменной sum
M>M>private delegate dynamic GetSum();
M> static void Main()
M> {
M> dynamic sum;
M> int[] arr = new[] {1, 4, 5};
M> GetSum delegateInstance = delegate() { return sum = arr.Sum(); };
M> delegateInstance();
M> }
M>
Это и есть замыкание
Здравствуйте, merge, Вы писали:
M>Кто может парой-тройкой Реальных примеров показать их применение.
Используется в большинстве linq запросов. Например:
int a = 0;
var q = list.Where(x => x == a);
А вот еще
примерАвтор: Spiceman
Дата: 16.10.08
и
примерАвтор: Spiceman
Дата: 24.11.09
. Только они не из реальной жизни
Думаю, что использовать надо там, где без замыканий код становится сложным и нечитаемым.
Здравствуйте, WolfHound, Вы писали:
WH>Здравствуйте, merge, Вы писали:
M>>пример я высосал из пальца. Хочу понять, когда реальные примеры использования замыканий. Ссылочкой не поделитесь или парой примеров
WH>Тут их мегабайты
WH>http://code.google.com/p/nemerle/source/browse/#svn/nemerle/trunk
а если бы у рыбы была шерсть...