C# - 匿名函数

 1 using System;
 2 
 3 namespace 委托_匿名函数
 4 {
 5     class Program
 6     {
 7         /// <summary>
 8         ///         声明委托: 委托的返回值类型 / 参数类型 / 参数个数 必须和被委托函数保持一致
 9         /// </summary>
10         /// <param name="x"> 参与运算的数据 </param>
11         /// <param name="y"> 参与运算的数据 </param>
12         /// <returns> double 类型的值 </returns>
13         delegate double Calculate(double x, double y);
14         static void Main(string[] args)
15         {
16             /***********************************************************************
17              *  匿名函数:
18              *          1. 省略函数名称
19              *          2. 声明格式: delegate(参数类型 形参,..) { 函数体 };
20             ***********************************************************************/
21             // 将匿名函数赋值给委托
22             Calculate cal = delegate(double x, double y) { return x + y; };
23             Console.WriteLine("匿名函数, 加法运算: {0}", cal(3,4) );
24 
25             /***********************************************************************
26              * 匿名函数与泛型委托 : 泛型委托必须多一个形参存储返回值,形参类型必须与匿名函数的返回值
27              * 类型保持一致
28             ***********************************************************************/
29             Func<double, double, double, double> fn = delegate(double x, double y, double z) { return x * y * z; };
30             Console.WriteLine( "匿名函数, 乘法运算: {0}", fn(1,2,3) );
31 
32             Console.ReadLine();
33         }
34     }
35 }

 

posted @ 2016-04-02 10:49  C/C++/Python/Java  阅读(1051)  评论(0编辑  收藏  举报