一、lambda表示式簡介
lambda表示式可以理解為匿名函式,可以包含表示式和語句。它提供了一種便利的形式來建立委託。
lambda表示式使用這個運算子--- 「=>」,它讀成「goes to」 ,該運算子的左邊為輸入引數,右邊是表示式或者語句塊。
二、例子
例1:
1view codeusing
system;
2using
system.collections.generic;
3using
system.linq;
4using
system.text;
5using
system.threading.tasks;
6using
system.windows.forms;78
namespace
lambda9;
2324
//c# 3中使用lambda表示式來建立委託例項
25 func del3 = (string text) =>text.length;
2627
//可以省略引數型別string,把上面**再簡化為:
28 func del4 = (text) =>text.length;
2930
//如果lambda表示式只需乙個引數,並且那個引數可以隱式指定型別時,
31//
此時可以把圓括號也省略,簡化為:
32 func del5 = text =>text.length;
3334
int length = del5("
test");
35 console.writeline("
length:
" +length);
3637
console.readkey();38}
3940
private
static
int callbackmethod(string
str)
4144
}45 }
例2:
1view codeusing
system;
2using
system.collections.generic;
3using
system.linq;
4using
system.text;
5using
system.threading.tasks;
6using
system.windows.forms;78
namespace
lambda9;
15 button1.left = 10
;16 button1.backcolor =system.drawing.color.red;
1718 button button2 = new button() ;
19 button2.backcolor =system.drawing.color.green;
2021
//c# 2中使用匿名方法來訂閱事件
22 button1.click += delegate (object
sender, eventargs e)23;
2627
28//
c# 3lambda表示式方式來訂閱事件
29 button2.click += (sender, e) => reportevent("
click事件
", sender, e);
3031
32 form form = new form ;
3334
form.controls.add(button1);
35form.controls.add(button2);
36//
執行窗體
3738
string str = "";39
bool isshow = false;40
while (!isshow)
4154}55
console.readkey();56}
57//
記錄事件的**方法
58private
static
void reportevent(string title, object
sender, eventargs e)59"
, title);
61 console.writeline("
激發事件的物件:
", (sender as
button).name);
62 console.writeline("
事件引數型別:
", e.gettype());
63console.writeline();
64console.writeline();65}
66}67 }
執行結果如下:
C 小知識 lambda表示式
lambda表示式是c 11的重要特性之一,有如下特點 1 宣告式的程式設計風格 就地匿名定義目標函式或者函式,不需要額外寫乙個命名函式或者函式物件,以更直接的方式寫程式。2 簡潔 不需要額外再寫乙個函式或者函式物件,避免了 膨脹和功能分散。3 在需要的時間和地點實現功能閉包,使程式更加靈活。lam...
Lambda表示式基礎
1.lambda表示式使用條件 2.lambda表示式的三種編寫方式 public class lambdademo public static void proxygetuser userservice service public static string proxygetuser2 stri...
lambda表示式 lambda表示式
1.概述 c 11 中的 lambda 表示式用於定義並建立匿名的函式物件,以簡化程式設計工作。lambda 的語法形式如下 函式物件引數 操作符過載函式引數 mutable 或 exception 宣告 返回值型別可以看到,lambda 主要分為五個部分 函式物件引數 操作符過載函式引數 muta...