zoukankan      html  css  js  c++  java
  • C#编程(四十七)----------集合接口和类型

    原文链接: http://blog.csdn.net/shanyongxu/article/details/47005979

    前面介绍了数组和Array类实现的接口.数组的大小是固定的.如果元素个数是动态的,就应私用集合类.

    List<T>是与数组相当的集合类.还有其他类型的集合:队列,,链表和字典.

    大多数集合类都可在System.CollectionsSystem.Collections.Generic名称空间中找到.泛型集合类位于System.Collections.Generic名称空间中;专用于特定类型的集合类位于System.Collections.Specialized名称空间中.线程安全的集合类位于System.Collections.Concurrent名称空间中.

    集合和列表实现的接口如下:

    接口

    说明

    IEnumerable<T>

    如果foreach语句用于集合,就需要IEnumerable接口.这个借口定义了方法GetEnumerator(),他返回一个实现了IEnumerator接口的枚举

    ICollection<T>

    ICollection<T>接口有泛型集合类实现.使用这个借口可以获得集合中的元素个数(Count属性),把集合复制到数组中(CopyTo()方法),还可以从集合中添加和删除元素(Add(),Remove(),Clear())

    List<T>

    IList<T>接口用于可通过位置访问其中的元素列表,这个接口定义了一个 索引器,可以在集合的指定位置插入或删除 mount些项(Insert()Remove()方法).IList<T>接口派生自ICollection<T>接口

    ISet<T>

    ISet<T>接口是.NET4中新增的.实现这个接口的集允许合并不同的集.获得两个集的交集,检查两个集合是否重叠.ISet<T>接口派生自ICollection<T>接口

    IDictionary<TKey,TValue>

    IDictionary<TKey,TValue>接口由包含键和值的泛型集合类 实现.使用这个接口可以访问所有的键和值,使用键类型的索引器可以访问某些项,还可以添加或删除某些项

    ILookup<TKey,TValue>

    ILookup<TKey,TValue>接口类似于IDictionary<TKey,TValue>接口,实现该接口的集合有键和值,且可以通过一个键包含多个值

    IComparer<T>

    接口ICommparer<T>由比较器实现,通过Comparer()方法给集合中的元素排序

    IEqualityComparer<T>

    接口IEqualityComparer<T>由一个比较器实现,该比较器可用于字典中的键.使用这个接口,可以对对象进行相等性比较..NET,这个接口也由数组和元组实现

    IProducerConsumerColllection<T>

    IProducerConsumerCollection<T>接口是.NET4中新增的,它支持新的线程安全的集合类

  • 相关阅读:
    linux openresty 安装(图文死磕)
    openresty lua 调试 (图文死磕)
    windows openresty 死磕:安装和启动脚本
    SpringBoot SpringCloud 热部署 热加载 热调试
    SpringCloud 亿级流量 架构演进
    Zuul 详解,带视频
    Zuul Swagger 整合
    时间序列分解-STL分解法
    ISLR系列:(4.3)模型选择 PCR & PLS
    ISLR系列:(4.2)模型选择 Ridge Regression & the Lasso
  • 原文地址:https://www.cnblogs.com/FinleyJiang/p/7602647.html
Copyright © 2011-2022 走看看