相关内容参考了C#委托
C# 中的委托(Delegate)类似于 C 或 C++ 中函数的指针。
委托(Delegate) 是存有对某个方法的引用的一种引用类型变量。引用可在运行时被改变。
以下声明可以引用任何一个参数为string,返回类型为int的方法。
public delegate int MyDelegate (string s);
声明了委托类型,就可以用new创建委托对象
MyDelegate md = new MyDelegate("");
引用方法,方法名无需带引号
md=methodName;
输出
Console.WriteLine("Value of Num: {0}", md("haha"));
正常委托的表达方法
delegate int MyDelegate(int a);
static void Main(string[] args)
{
MyDelegate md = AddNum;
Console.WriteLine(md(10) + ""); //输出20
Console.ReadKey();
}
public static int AddNum(int a)
{
return a + 10;
}
Lambda表达式
delegate int MyDelegate(int a);
static void Main(string[] args)
{
MyDelegate md = p => p + 10;
Console.WriteLine(md(10) + ""); //输出20
Console.ReadKey();
}
表达式(
p => p + 10;
)中的 p 就代表委托方法中的参数,而表达式符号右边的 p+10,就是委托方法中的返回结果。