private void анонимныйМетодToolStripMenuItem_Click(object sender, EventArgs e) { Countit count = delegate { richTextBox1.Text += "Веполнение анонимного метода " + "\r\n"; for (int i = 0; i < 5; i++) { richTextBox1.Text += i.ToString() + " "; } richTextBox1.Text += "\r\n" + "\r\n"; }; count(); Countit1 count1 = delegate(int end) { richTextBox1.Text += "Веполнение анонимного метода c передачей аргументв" + "\r\n"; for (int i = 0; i < end; i++) { richTextBox1.Text += i.ToString() + " "; } richTextBox1.Text += "\r\n" + "\r\n"; }; count1(10); Func <int, int, int> func = PlusFunc(); int rezult = func(2, 3); richTextBox1.Text += "Резултат обобщенного делегата: " + rezult.ToString(); richTextBox1.Text += "\r\n" + "\r\n" + "ЛЯМБДА - ВЫРАЖЕНИЯ!!!!!!" + "\r\n"; Func <int, int, int> func1 = PlusFunc1(); int rezult1 = func1(2, 3); richTextBox1.Text += "Результат выполнения лямбда-выражения: " + rezult1.ToString() + "\r\n"; richTextBox1.Text += "Маленький прикол. Ошибок не вызывает: " + func1.ToString() + "\r\n"; richTextBox1.Text += "\r\n" + "\r\n" + "ЛЯМБДА-ВЫРАЖЕНИЕ ВНУТРИ ЛЯМБДА ВЫРАЖЕНИЯ" + "\r\n"; Func <Func <int, int, int>, int, int> funcsuper = (k, f) => k(3, 5) * f; int rezultsuper = funcsuper(func1, 3); richTextBox1.Text += "Результат выполнения супер лямбда-выражения: " + rezultsuper.ToString() + "\r\n"; }
public static void Lambda_Main() { /* Explicit typing for Lambda Expression, the parameter x has to be int since it has to match the * type for Countit */ Countit testDel = (int x) => x + 5; int result = testDel(5); Console.WriteLine(result); /* Implicit typing for Lambda Expression, no type is specified for parmater x since it gets its * type from Countit. */ Countit testDel2 = (x) => x + 5; int result2 = testDel2(5); Console.WriteLine(result); }