C#基本功------委托和事件(三)

下面我们来说一下系统自带的委托,一个就黑丝fun<>一个就是Action<>

这两个委托是系统给我们用的,我们一般用的时候用这两个委托就行了,不需要再自己声明一个委托,这两个的区别是前者有返回值,而后者是什么返回值的

下面我们先来介绍下IEnumerable这个东东。。。。微软给我们的解释是:公开枚举数,支持在指定的集合上进行简单的迭代,说明了凡是实现这个接口的东西,都可以实现foreach循环遍历,这就是为什么数组可以进行遍历,因为数组的父类是Array,而Array实现了接口IEnumerable

  static void Main(string[] args)//显示5以上的内容
        {
            List<int> list = new List<int>() { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 };
            IEnumerable<int>ies = list.Where(x=>x>5);
            foreach (int item in ies)
            {
                Console.WriteLine(item);
            }
            Console.ReadKey();
        }

多播委托:其实就是方法之间的加减,要注意是不是return,因为return会覆盖

委托的本质:其实就是把类包装了一下,是可以new出来的

下面介绍下委托和事件最主要的区别:

---委托可以直接调用

--事件不可以直接调用

--委托可以直接赋值

--事件不可以直接赋值

 为什么呢?因为事件event会自动生成一个private delegate变量和两个函数,add和remove

原文地址:https://www.cnblogs.com/guyali/p/5343440.html