当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > .Net新手学堂:Lambda表达式的一般应用

ASP.NET
妙用Cache检验用户是否重复登陆
ASP.NET 2.0–善用DataSourceMode属性
在ASP.NET AJAX中别使用mode="Legacy"
探讨ASP.NET 2.0的Web控件改进之概述
asp.net创建文件夹的IO类的问题
asp.net 实现购物车详细代码
ASP.NET2.0+SQL Server2005构建多层应用
用ICallbackEventHandler实现客户端与服务器端异步
ASP.NET页面的重定向
抢先试用ASP.NET 2.0中的新型安全控件
ASP.NET中Cookie编程的基础知识
Asp.net导航控件真的值得用吗?
ASP.NET中上传文件到数据库
cs及前身asp.net forums的调试
ASP.NET2.0 遍历文件夹下所有图片
用ASP.NET创建自定义文本框
ASP.NET中设计带事件定制控件
ASP.NET+ORACLE添加记录让ID自动增量
C#+ASP.NET开发基于Web的RSS阅读器
ASP.NET2.0导航功能之配置会员和角色

ASP.NET 中的 .Net新手学堂:Lambda表达式的一般应用


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 133 ::
收藏到网摘: n/a

      1. 在List中实现Find,Sort,Foreach,ConvertAll  

例如:

List numList = new List();

....//初始化

//实现Find

int x = numList.Find(n=>n == 3);

//实现sort

numList.Sort((x,y)=>{return x.CompareTo(y); });

//实现foreach

numList.ForEach(n=>otherList.Add(n));

lambda表达式使得函数可以在使用的地方声明,并且可以在lambda函数中使用lambda函数之外的数据。个人认为前者并不是什么好事,因为函数在任何地方声明并使用可能会对代码的维护造成负面影响,有价值的地方是后者。

能够将当前scope下的数据通过lambda函数传给其它调用者,这才是有意义的地方。  

2. 简单的事件处理:

mTextBox.TextChanged +=(sender,arg)=>mTextBox1.Text = mTextBox.Text;

在这里,系统会自动识别出sender和arg的类型,但是对于我们编写这段代码的程序员来说,sender和arg的类型和我们要编写的那段代码几乎没有任何关系,因为我们关心的是mTextBox1.Text = mTextBox.Text;。