C# Lambda表达式介绍
发布时间:2021-11-18 13:56:48 所属栏目:PHP教程 来源:互联网
导读:概要 今天我想给大家说道说道 C# lambda表达式,不废话,下面开始说道! lambda lambda是什么,它不是是什么,它只是一个语法糖,看着简单明了,写起来简单,对于开发人员可读性好,还有就是省劲儿!重点来了:lambda就是委托的实现方法的简单写法 切记,切
概要 今天我想给大家说道说道 C# lambda表达式,不废话,下面开始说道! lambda lambda是什么,它不是是什么,它只是一个语法糖,看着简单明了,写起来简单,对于开发人员可读性好,还有就是省劲儿!重点来了:lambda就是委托的实现方法的简单写法 切记,切记,只要记住这句话,所有lambda表达式都好理解!什么不理解,不理解啊很正常,咱们看的例子就一下明白了。 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication1 { class Program { //声明委托delegateTest delegate int delegateTest(int a); static void Main(string[] args) { //实现委托delegateTest delegateTest tset = new delegateTest(test); //lambda实现方式与test方法一样 delegateTest tset1 = new delegateTest(t => t); } //实现委托delegateTest public static int test(int t) { return t; } } } 首先我们声明了一个委托定义返回值是int参数也是一个int类型,然后我们定义了test方法来实现delegateTest这个委托;这里我们用了两种方式一种是普通的声明方法方式就是test方法,另一种我们用了lambda方式就是 t=>t,这个表达式和test方法是一样的,注意了没有delegateTest这个委托这个lambda表达式就是非法的,为什么?因为lambda就是委托的实现方法,必须和委托保持一致 明白了上面的说的,咱们来仔细看看它的结构t=>t,很好理解,看图 明白了左面是参数,右面是方法体,是不是很简单!记住lambda必须有对应的委托,有的同学问了为什么有些方法我没有声明委托也能用呢,例如集合的扩张方法.where();.select()那是因为.net framework已经为我们声明了相应的委托 func Func和Action Func和Action就是.net framework自带的委托,我们只要查看它们的委托类型,就能写出相应的lambda表达式,Func和Action委托其实差不多,区别是Func有返回值,Action没有返回值,具体的可以去查看.netframework帮助文档,一看就明白! 结语 看了上面的讲解,相信你一定会理解lambda式。 ![]() (编辑:云计算网_泰州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |