C#__匿名方法和Lambda表达式

C#__匿名方法和Lambda表达式_第1张图片

 

    class Program
    {
        static void Main(string[] args)
        {
            // 匿名方法:方法没有名字
            Func plus = delegate (int a, int b)
              {
                  return a + b;
              };
            // 这里相当于直接把要引用的方法直接写在后面
            // 优点:减少了要编写的代码,减少代码的复杂性

            int res = plus(10, 2);
            Console.WriteLine(res); // 12

            // Lambda表达式(匿名方法的简写)
            Func plus2 = (a, b) => { return a + b; };
            // 只有一条语句时可以再简写
            Func plus3 = (a, b) => a + b;
            // 只有一个参数时,可以再简写
            Func plus4 = a => a * a;

            // 可以访问外部变量(需要谨慎)
            int c = 5;
            Func f = x => x + c;
            Console.WriteLine(f(10)); // 15
        }
    }

你可能感兴趣的:(C#编程,c#,开发语言)