namespace MyNamespace
{
static class Tool
{
public static int AddSum(int a, int b)
{
return a + b;
}
}
class MyClass
{
delegate int Mydelegate(int a, int b);
static void Main(string[] args)
{
Mydelegate mydelegate = new Mydelegate(Tool.AddSum);
int res = mydelegate(5, 2);
Console.WriteLine(res);
}
}
}
2简化
class MyClass
{
delegate int Mydelegate(int a, int b);
static void Main(string[] args)
{
//Mydelegate mydelegate = new Mydelegate(Tool.AddSum);
//Mydelegate mydelegate = delegate (int a, int b){ return a + b; };//简化
//Mydelegate mydelegate = (int a, int b) => { return a + b; };//再简化(Lambda表达式)
Mydelegate mydelegate = (a, b) => { return a + b; };//再再简化(委托类型中已经定义了参数的类型)
int res = mydelegate(5, 2);
Console.WriteLine(res);
}
}
lambda表达式1完整写法namespace MyNamespace{ static class Tool { public static int AddSum(int a, int b) { return a + b; } } class MyClass { delegate int Mydelegate(int a, int b); static voi