zoukankan      html  css  js  c++  java
  • ICollection与IEnumerable

    3.1 ICollection<T>接口
      ICollection<T>接口定义了泛型集合接口,
        所谓泛型集合,即使用了.net Framework提供的泛型特性,
        使集合限定为只存储一种特定类型对象引用或值类型的数据的集合。
        泛型集合增强了集合访问的效率和安全性。
        由于存储类型已被确定,所以ICollection<T>比ICollection接口提供了更多的方法,
        包括添加到集合,从集合删除以及判断一个对象引用(或对象值)是否在集合中存在。 
    
    3.2 IEnumerable<T>接口
      ICollection<T>接口实现了IEnumerable<T>接口,主要用来返回一个实现了实现了IEnumerator<T>接口的,确定类型的迭代子对象。
      参考ICollection<T>的继承关系图。
    
    
    1、什么是可枚举类型
            可枚举类型是带有GetEnumerator方法的类型不一定是类也有可能是数组,接口,它返回一个枚举器。
    
    2、什么是枚举器
            枚举器是可以依次返回集合中项的对象,获取一个枚举器的方法是调用对象的GetEnumerator的方法,
            简单理解枚举器就是GetEnumerator方法返回的实例,这个方法的返回的实例类型可以有很多种;
            例如我们使用foreach语句遍历数组中的内容时,我们可以依次取出数组中的每一个元素,
            读取它的值,为什么数组可以这么做?
            因为数组提供了一个枚举器对象,
            枚举器可以依次返回请求的数组中的元素。
    
    IEnumerator接口是所有非泛型枚举器的基接口(即GetEnumerator方法返回实例类型如果是非泛型,则返回实例类型全部继承自IEnumerator接口).
    IEnumerator<T>接口是所有泛型枚举器的基接口
    类型是IEnumerator接口的枚举器(GetEnumerator方法返回的实例类型是IEnumerator接口)
    包含三个函数成员:Current、MoveNext以及Reset,复杂了解即可,直接通过foreach语句遍历
    
    
    第一  : ArrayList(非泛型集合)  与List(泛型集合)
    第二 :HashTable(非泛型集合)对应Dictionary(泛型集合)
    人各有命,上天注定,有人天生为王,有人落草为寇。脚下的路,如果不是你自己的选择,那么旅程的终点在哪,也没人知道。你会走到哪,会遇到谁,都不一定。
  • 相关阅读:
    HDU 3695 Computer Virus on Planet Pandora
    codeforces 706D Vasiliy's Multiset
    HDU 2222 Keywords Search
    POJ 2348 Euclid's Game
    HDU 1079 Calendar Game
    js选项卡的实现方法
    实现鼠标悬浮切换标题和内容
    js实现鼠标悬浮切换 setTab 代码实现
    自学Node.js: WebStorm+Node.js开发环境的配置
    windows 下安装nodejs
  • 原文地址:https://www.cnblogs.com/ZkbFighting/p/15088853.html
Copyright © 2011-2022 走看看