我学习使用vs2008三个多月了,我从不使用委托,也没有发现我的C#程序不正常,自己在C#中做软件不主动使用委托到底行不行。

解决方案 »

  1.   

    具体看什么应用,如果是简单的控制台应用程序,可能不需要委托和事件就能解决问题;
    但是在WinForm开发中,即使你不用委托,开发环境自动生成的代码也已经大量使用了事件(事件与委托是紧密相关的)。
    WinForm中的事件和委托,如同WIN32的消息处理机制一样,是最基本的概念,想不用都不可能。
      

  2.   

    说个例子给大家看看:
    见过属性吧!
    当你定义了属性后,在FORM的属性窗口中就能看到它
    委托呢是定义EVENT的基础,定义了EVENT就能吧基类封装起来,但是开放EVENT让子类来用!
    当然委托还可以使得你在发生一个事件的时候动态的做很多的事情,就是代码容易扩展
      

  3.   

    根据需求来的.不过有时用带委托做查询方便
    如遍历List<User> collection=new List<user>()这个集合下名称等于admin的记录赋给UserB
    一般的话是
    User GetFindUser(User UserB)
    {
       foreach(User data in collection)
      {
        if(data.name="admin")
        {
            UserB=data;
        }
      }
      return UserB;
    }
    但是我喜欢这种:
    collection=collection.Find(delegate(User obj){return obj.name="admin";});
      

  4.   

    继续简化楼上的:
    collection = collection.Find( p => p.name == "admin");
      

  5.   


    p => p.name == "admin"这是Lambda表达式,是Func委托,系统隐含的,不是自己的。