C#中关于匿名托付和Lambda表达式的运用详解【C#.Net教程】,csharp,Lambda,.net
作者:搜教程发布时间:2019-11-27分类:.Net教程浏览:26评论:0
导读:这篇文章主要为人人细致引见了C#匿名托付与Lambda表达式的相干材料,具有肯定的参考价值,感兴趣的小伙伴们能够参考一下经由过程运用匿名托付(匿名要领),使编程变得越发天真...
这篇文章主要为人人细致引见了C#匿名托付与Lambda表达式的相干材料,具有肯定的参考价值,感兴趣的小伙伴们能够参考一下
经由过程运用匿名托付(匿名要领),使编程变得越发天真,有关托付与匿名托付请参考我的前一篇Blog《托付与匿名托付》。
继承之前示例,代码以下:
static void Main(string[] args) { Worker.TwoNumberHandleMethodDelegate method = delegate(int a, int b) { return a + b; }; Worker worker = new Worker(); int result = worker.HandleTwoNumber(10, 10,method); Console.WriteLine(String.Format("Result:{0}", result)); Console.ReadLine(); }
上述顺序worker将依据Main给定的参数与盘算体式格局(method),盘算出效果返回。依据等效性代码能够进一步简化,以下:
static void Main(string[] args) { Worker worker = new Worker(); int result = worker.HandleTwoNumber(10, 10, delegate (int a, int b) { return a + b; }); Console.WriteLine(String.Format("Result:{0}", result)); Console.ReadLine(); }
看到此处有过js、jquery开辟履历的朋侪能够会突感亲热,哦...匿名函数。在jquery中随处都用的$("#id").click(function(){.........})。
C#中关于匿名托付在运用时能够进一步精简,再精简的效果就变成了表达式,称为Lambda表达式。
static void Main(string[] args) { Worker.TwoNumberHandleMethodDelegate method = delegate(int a, int b) { return a + b; }; }
Lambda表达式表述:
static void Main(string[] args) { Worker.TwoNumberHandleMethodDelegate method = (a, b)=> { return a + b; }; }
C# Lambda表达式运用 => 分为前后两部分,(a, b) 为参数列表,{....}为要领体。
static void Main(string[] args) { Worker worker = new Worker(); int result = worker.HandleTwoNumber(10, 10, (a, b) => { return a + b; }); Console.WriteLine(String.Format("Result:{0}", result)); Console.ReadLine(); }
下面给出要领与Lambda表达式转换对比
private void A1() { Console.WriteLine("...."); } //Lambda ()=>{Console.WriteLine("....");}; //假如要领体代码只要一句,如上还可省去要领体大括号 ()=>Console.WriteLine("....");
private string A2(int a, int b) { return String.Format("{0}+{1}={2}", a, b, a + b); } //如上示例可简化为 (a,b)=>{return String.Format("{0}+{1}={2}", a, b, a + b);} //由于要领体只要一句,可进一步简化 (a,b)=> String.Format("{0}+{1}={2}", a, b, a + b); //此时注重return应当去掉,C#编译器自动识别=>做返回值
private string A3(int a) { return String.Format("{0}", a); } //上面示例可简化为 (a)=>String.Format("{0}", a); //假如参数列表只要一个参数,参数列表的()能够去掉,上面进一步简化为 a=>String.Format("{0}", a);
经由过程这篇文章你能够已意想到在C#中,要领、托付、匿名要领,lambda表达式并没有显著辨别边境,它们之间能够天真转化。在现实开辟中关于托付的知识点异常多,如托付与事宜。假如时候许可,愿望能把托付深化的文章写一下。
以上就是C#中关于匿名托付和Lambda表达式的运用详解的细致内容,更多请关注ki4网别的相干文章!
相关推荐
- mysql装置后.net顺序运转失足怎样处理【MySQL教程】,mysql,.net,运行
- .net读写xml文档详解【XML教程】,.net,xml
- .net和c#有什么区别【C#.Net教程】,.net,c#
- C#中VB.NET给Word文档增加/打消书签的实例【C#.Net教程】,VB.NET,csharp,Word
- C#怎样完成loading提醒控件简朴的实例【C#.Net教程】,loading,csharp,.net
- C#怎样完成增加和修正以及删除PDF书签的要领引见【C#.Net教程】,csharp,.net,以及
- C#怎样运用LibUsbDotNet完成USB通讯的示例详解【C#.Net教程】,LibUsbDotNet,csharp,.net
- asp .net 面试题及答案分享【C#.Net教程】,.net,自己,整理,问题,面试
- Memcached在.net中的运用【C#.Net教程】,Memcached,.net
- .net是什么言语 视频【C#.Net教程】,.net
你 发表评论:
欢迎- .Net教程排行
-
- 1案例分享c++ map的运用和 查找机能测试【C#.Net教程】,性能,map,c++
- 2细致引见C# string花样的日期时候字符串转为DateTime范例的要领【C#.Net教程】,C#,string,DateTime
- 3详解ASP.NET中衔接数据库设置要领【C#.Net教程】,ASP.NET,数据库,配置
- 4c#怎样运用?c#的基础语法【C#.Net教程】,c#,关键字
- 5C# DataSet机能最好实践【C#.Net教程】,C#,DataSet
- 6C#_挪用封装的一个类完成导出Excel表格的功用【C#.Net教程】,C# Excel表格
- 7让WebAPI 返回JSON花样的数据实例教程【C#.Net教程】,javascript,WebAPI,JSON,api,web,搭建,返回
- 8asp .net 面试题及答案分享【C#.Net教程】,.net,自己,整理,问题,面试
- 9在C++中对象怎样作为参数通报和返回?(代码示例)【C#.Net教程】,C++,对象
- 最新文章
- 广而告之