Example #1
0
        static void LambdaTest()
        {
            //lambda正常状态.
            //LambdaDelegate lambda = delegate (int num)
            //{
            //    return num * num;
            //};

            //关键字delegate可以省略
            //在参数裂变与匿名方法主体之间, 放Lambda运算符 "=>"
            //Lambda表达式可省略参数类型
            //以上可以改写为
            //LambdaDelegate lambda = (num) =>
            //{
            //    return num * num;
            //};

            //如果只有一个隐式类型参数, 可省略圆括号
            LambdaDelegate lambda = num => num * num;

            //如果匿名方法没有参数, 必须使用空的圆括号
            NumDelegate numDelegate = () => 1000;

            //记得调用的是需要添加()括号.
            Console.WriteLine("调用没有参数的委托: " + numDelegate());

            Console.WriteLine(lambda(20));
        }
Example #2
0
        //返回值为int无参数委托测试;
        static void NumDelegateTest()
        {
            //创建委托对象
            NumDelegate numDelegate = NumTest.NumTest1;

            numDelegate += NumTest.NumTest2;

            numDelegate();
        }