using System; namespace Delegate { class Program { public delegate void WeiTuo(char c);//定义一个委托 static void f(char c) {//打印小写字母 Console.WriteLine(char.ToLower(c)); } static void F(char c) {//打印大写字母 Console.WriteLine(char.ToUpper(c)); } static void Fun(WeiTuo wt,char c) { wt(c); } static void Main(string[] args) { //单播委托 WeiTuo wt = new WeiTuo(f);//把函数转成委托 Fun(wt, 'a'); Fun(f, 'a'); wt = new WeiTuo(F); Fun(wt, 'a'); Fun(F, 'a'); //多播委托 WeiTuo weituo = new WeiTuo(f); weituo += new WeiTuo(F); Fun(weituo, 'b'); Console.Read(); } } } 1.什么是委托?委托类似函数。但是委托可以作为函数参数。 2.什么时候用委托?当程序中有两个函数的参数和返回值一样时,就可以考虑用委托了。 3.委托有什么好处?易于维护。保护函数内部,增强其安全性。