.Net菜鸟学堂:Lambda表达式的一般应用
1. 在List中实现Find,Sort,Foreach,ConvertAll Xq}9dBF\T,f,Ain!d]Z
例如:
\^{'R)E&Kb
List numList = new List(); x0w%M3} qS"M.Wm
#T*}7oO/g
....//初始化
;P5Jr/n7Ub;j!A
//实现Find i `.P]&{ FDY
F3SQ2@gm$M8J
int x = numList.Find(n=>n == 3); Hj~]f\
//实现sort V"^IuG Z
o,L7ZMD R[bV{
numList.Sort((x,y)=>{return x.CompareTo(y); });
//实现foreach
P$A#ol n(Wi
numList.ForEach(n=>otherList.Add(n));
lambda表达式使得函数可以在使用的地方声明,并且可以在lambda函数中使用lambda函数之外的数据。个人认为前者并不是什么好事,因为函数在任何地方声明并使用可能会对代码的维护造成负面影响,有价值的地方是后者。
3C%W9njh"dCx
能够将当前scope下的数据通过lambda函数传给其它调用者,这才是有意义的地方。 3bHI v9w'a@C \3XdE s
&Gk;a&SK P1Y'c:YA
2. 简单的事件处理:
YAf"^D/Uy
mTextBox.TextChanged +=(sender,arg)=>mTextBox1.Text = mTextBox.Text; &z_^G1Xr
3D3E7U6O*M
在这里,系统会自动识别出sender和arg的类型,但是对于我们编写这段代码的程序员来说,sender和arg的类型和我们要编写的那段代码几乎没有任何关系,因为我们关心的是mTextBox1.Text = mTextBox.Text;。
页:
[1]