匿名方法允许将代码块(方法体部分)通过委托变量作为参数传递,以代替单独定义的方法
using System;
namespace Delegate
{
class Program
{
static void Main(string[] args)
{
//m 委托变量
Mydelegate m = delegate(int a, int b)//参数列表
{
return a + b;//方法体
};
int teslut = m (10,20);
Console.Write(teslut);
Console.ReadLine();
//这个方法没有具体名称,而只有委托关键字、方法参数、方法体、是匿名方法
}
//声明委托(定义一个函数的原型:返回值+参数类型和个数)
public delegate int Mydelegate(int a,int b );
}
}
输出结果:
Lambda表达式定义定义规范与使用说明
参数列表中的参数类型可以是“明确”类型或者是“推断”类型
如果是推断类型,则参数的数据类型将由编译器根据上下文自动推断出口
推断类型参数(Mydelegate m = (int a, int b)=> { return a + b; };)
using System;
namespace Delegate
{
class Program
{
static void Main(string[] args)
{
//委托变量接受一个Lambda表达式
Mydelegate m = (int a, int b)=> { return a + b; };//Lambda 表达式
int teslut = m (10,20);
Console.Write(teslut);
Console.ReadLine();
}
public delegate int Mydelegate(int a,int b );
}
}