c#委托
描述:委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递,这种将方法动态地赋给参数的做法,可以避免在程序中大量使用If-Else(Switch)语句,同时使得程序具有更好的可扩展性
1.委托可以把一个方法作为参数带入到另一参数.
2.委托可以理解为指向一个函数的指针.
3.委托的关键字是 delegate
4.委托是应用类型
委托简单使用:
public delegate void MyDel();//自定义一个委托 class Program { static void Main(string[] args) { //(1)简单委托 MyDel say1 = SayHi; MyDel say2 = new MyDel(SayHi); say1(); say2(); } static void SayHi() { Console.WriteLine("Hi World"); } }
2.委托的扩展,可以把方法作为一个参数传递给另一个方法,
//自定义一个委托 public delegate int WeiTuo(int a, int b); class Program { static void Main(string[] args) { JiSuan(Jia, 25, 10); Console.ReadKey(); } static int Jia(int a, int b) { return a + b; } static int Jian(int a, int b) { return a / b; } static int Cheng(int a, int b) { return a - b; } static int Chu(int a, int b) { return a * b; } static void JiSuan(WeiTuo wt, int a, int b) { Console.WriteLine(wt(a, b) + " "); } }