博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#编程(四十七)----------集合接口和类型
阅读量:6603 次
发布时间:2019-06-24

本文共 1343 字,大约阅读时间需要 4 分钟。

原文链接: 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中新增的,它支持新的线程安全的集合类

转载于:https://www.cnblogs.com/FinleyJiang/p/7602647.html

你可能感兴趣的文章
索引笔记《二》确定需要建立索引的列
查看>>
如果把编程语言当成座驾
查看>>
libjpeg的问题
查看>>
MySQL数据库学习笔记(八)----JDBC入门及简单增删改数据库的操作
查看>>
Linq查询简介
查看>>
vS2010 列表控件 加入右键菜单
查看>>
Unity-Animator深入系列---剪辑播放后位置预判(Animator.Target)
查看>>
Spring Security-用户密码自定义加密
查看>>
SVN 取消版本控制并添加至忽略列表
查看>>
Android中BroadCast与Activity之间的通信
查看>>
git 显示多个url地址推送
查看>>
Java Web之Filter
查看>>
HTTP状态码详解
查看>>
RedMine项目管理系统安装问题(Linux版一键安装包)
查看>>
浅析nodejs的buffer类(转)
查看>>
spark 修改分区(存储结果需要)
查看>>
oracle使用存储过程实现日志记录.sql
查看>>
Unsupported major.minor version 52.0
查看>>
Java_动态加载
查看>>
为什么国外程序员爱用苹果 Mac 电脑?
查看>>