委托、匿名表达式、Lambda表达式

        在 2.0 之前的 C# 版本中,声明委托的唯一方法是使用命名方法。  C# 2.0 引入了匿名方法,而在 C# 3.0 及更高版本中,Lambda 表达式取代了匿名方法,作为编写内联代码的首选方式

delegate int cc (int i, int j);
    class Program
    {
        static void Main(string[] args)
        {
            //委托
            cc a = new cc(add);
            Console.WriteLine(a(1, 5));
            //匿名方法
            cc b = delegate(int x, int y)
            {
                return x - y;
            };
            Console.WriteLine(b(1, 5));
            //Lambda表达式
            cc c = (x, y) => x * y;
            Console.WriteLine(c(1, 5));
            Console.ReadKey();
        }
        public static int add(int x, int y)
        {
            return x + y;
        }
    }
 

        若要创建 Lambda 表达式,需要在 Lambda 运算符 => 左侧指定输入参数(如果有),然后在另一侧输入表达式或语句块。 例如,lambda 表达式 x => x * x 指定名为 x 的参数并返回 x 的平方值。 如上面的示例所示,你可以将此表达式分配给委托类型:

"Lambda表达式"是一个特殊的匿名函数,是一种高效的类似于函数式编程的表达式,Lambda简化了开发中需要编写的代码量。

posted @ 2018-09-21 10:15  VV小不正经的少年  阅读(104)  评论(0编辑  收藏  举报