您的位置:首页 > 编程语言 > C#

我关于c#中委托的简单理解

2009-11-24 16:12 573 查看
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.委托有什么好处?易于维护。保护函数内部,增强其安全性。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: