匿名函数 和 拉姆达表达式

编程入门 行业动态 更新时间:2024-10-28 18:30:05

匿名函数 和 拉姆达<a href=https://www.elefans.com/category/jswz/34/1771310.html style=表达式"/>

匿名函数 和 拉姆达表达式

匿名函数

                 匿名方法是创建与特定委托实例相关联的未命名代码块的一种方法。可以通过在代码块后面跟上delegate关键字来创建匿名方法。

                  

    delegate void print();delegate string print2(string s);class Program{static void Main(string[] args){print p1 = delegate { Console.WriteLine("不带参数的匿名委托!"); };print2 p2 = delegate(string msg) { Console.WriteLine("{0}的匿名委托", msg); return ""; };p1();p2("带参数");Console.Read();}}


拉姆达表达式

               拉姆达表达式是创建匿名函数的另一种方法。因此,拉姆达表达式可以赋值给委托。虽然主要在操作LINQ中使用拉姆达表达式,但是这种表达式也适用于委托和事件。

        拉姆达表达式运算符:

               所有的拉姆达表达式都是用新的拉姆达运算符“=>”,该运算符讲拉姆达表达式分为两个部分:表达式左边指定了输入参数,而右边则是拉姆达主体。“=>”有时被描述为“转到”或“成为”

              共有两种类型的拉姆达表达式,1.表达式拉姆达,2.语句拉姆达

              

表达式拉姆达:

                  在表达式拉姆达中,=>运算符右边的表达式对运算符左边指定的参数执行操作。该表达式的结果成为拉姆达运算符的结果并返回。

                 一个参数基本形式为:param=>expr    多个参数基本形式为:(param-list) =>  expr

                 如果不需要参数则必须使用空的括号。

                  

 delegate string print();delegate string print2(string s);delegate string print3(string s, string w);delegate void print4(int count);class Program{static void Main(string[] args){print p1 = () => "拉姆达表达式1";print2 p2 = a => string.Format("{0}拉姆达表达式", a);print3 p3 = (a, b) => string.Format("{0}拉姆达表达式{1}", a, b);print4 p4 = count => { for (int i = 0; i < count; i++) { Console.WriteLine("语句拉姆达{0}", i); } };Console.WriteLine(p1());Console.WriteLine(p2("带参数"));Console.WriteLine(p3("带参数", "--多参数"));Console.WriteLine("——————————————————");p4(4);Console.Read();}}



更多推荐

匿名函数 和 拉姆达表达式

本文发布于:2023-06-17 08:23:51,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/756057.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:表达式   函数   拉姆

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!