C#lambda表达式

引言

官方链接
使用 Lambda 表达式来创建匿名函数
lambda表达式是匿名函数的语法糖

委托的类型

1.Lambda表达式不返回值,则将其转换为Action委托
2.Lambda表达式有返回值,则将其转换为Func委托

实例

lambda表达式的由来
            //匿名委托    Func<int, int> del
            //类型》变量》实例
            //Func是一个匿名委托类型,是一个没有名字的类型
            //怎样确定它的签名:需要若干数据类型作为参数(前面的规定参数类型,最后一个规定返回值类型)
            //可以直接定义一个委托变量

            //匿名函数    delegate(int a) { return a; };
            //与普通函数的区别就是将函数名换成了delegate

            //下面的表达式,就是一个通过匿名委托定义的变量del引用了一个匿名函数
            //与int a=1的过程,是相同的道理
            //Func<int, int> del =  delegate(int a) { return a; };
            //MessageBox.Show(del(5).ToString());

            //后来发现,匿名函数肯定要放到委托里,参数类型已确定好,于是有了更简捷的写法,把参数类型也省去
            //就出现了lambda表达式
            Func<int, int> del = a => { return a; };
            MessageBox.Show(del(6).ToString());
posted @ 2021-11-25 23:12  rookiexwang  阅读(73)  评论(0编辑  收藏  举报