zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    Python——查看安装位置和安装的库
    python——vs2017安装python库时,提示pip指令问题。
    数电——全减器分析(用74HC138设计提示)
    js $ 获取和设置 css样式中的属性值
    ajax 请求
    render 和 redirect 的区别
    django 之 session
    img 标签不显示图片的问题
    JavaScript jQuery bootstrap css ajax
    模板的继承
  • 原文地址:https://www.cnblogs.com/guyali/p/5343440.html
Copyright © 2011-2022 走看看