В чем разница лямбда-выражений и анонимных методов - C#
Формулировка задачи:
В книге Шидта приводится два способа создания анонимных функций:
1) с использованием ключевого слова "delegate";
2) с использованием лямбда-выражений.
Возник вопрос, оба способа одинаково работают, но синтаксис отличается или же есть принципиальные отличия?
using System;
delegate void some_functions(ref int number);
class Demo
{
static void Main()
{
some_functions del = null;
int x = 4;
del += (ref int number) => number = number * number;
del += delegate(ref int number)
{
number = number + 1;
};
del += (ref int number) => number = number + 2;
if (del != null)
del(ref x);
Console.WriteLine(x);
}
}Решение задачи: «В чем разница лямбда-выражений и анонимных методов»
textual
Листинг программы
this.Load += () => { }; *//Тут ошибка компилятора!
* * * * * * this.Load += (sender, e) =>
* * * * * * * * {
* * * * * * * * };
* * * * * * this.Load += delegate(object sender, EventArgs e)
* * * * * * {
* * * * * * };
* * * * * * this.Load += delegate
* * * * * * {
* * * * * * };