C#高级编程四十七天----集合接口和类型
来源:互联网 发布:数据分析处理是什么 编辑:程序博客网 时间:2024/05/19 02:29
集合接口和类型
前面介绍了数组和Array类实现的接口.数组的大小是固定的.如果元素个数是动态的,就应私用集合类.
List<T>是与数组相当的集合类.还有其他类型的集合:队列,栈,链表和字典.
大多数集合类都可在System.Collections和System.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中新增的,它支持新的线程安全的集合类
- C#高级编程四十七天----集合接口和类型
- C#高级编程四十三天----Lambda表达式
- C#高级编程四十五天----格式字符串
- C#高级编程四十八天----列表
- C#高级编程四十九天----队列
- C#高级编程第七天----命名空间
- C#高级编程十七天----Object类
- C#高级编程三十七天----结构比较
- C#高级编程五十七天----位数组
- 编程第四十六、四十七天
- C#高级编程 集合
- C#高级编程:对象和类型
- C# 高级编程 对象和类型
- C#高级编程四十天----运算符重载
- C#高级编程四十一天----用户定义的数据类型转换
- 集合接口和类型
- C#高级编程二十七天----创建泛型类
- C#高级编程六十七天----LINQ提供程序
- python-minidom模块【解析xml】
- android解析,组包XML文件
- Molar mass
- ActionBar隐藏修改图标和标题
- java 中字符拼接学习心得
- C#高级编程四十七天----集合接口和类型
- #leetcode#Valid Palindrome
- 如何实现左滑返回(2)
- MySQL修改root密码的多种方法
- UITableView滑动删除表格行(UITableViewCell)
- XMPP接受发送消息
- Linux内核中RAID5源码详解之基本架构与数据结构
- 一位退休老公安的建议
- android 模拟器模拟非root权限