永发信息网

c#有几种集合

答案:1  悬赏:20  手机版
解决时间 2021-04-16 20:40
c#有几种集合
最佳答案
C#中的集合有几种?
Array
ArrayList
List
Stack
Queue
Dictionary
HashTable
集合,表示可以通过遍历每个元素来访问的一组对象(特别是可使用foreach循环访问) 一个集合包括多个元素,即有一个集合类对象和N个元素对象

因为任何集合类都实现了IEnumerable接口,所以任何集合类对象都有一个
GetEnumerator()方法,该方法可以返回一个实现了 IEnumerator接口的对象,这个返回的IEnumerator对象既不是集合类对象,也不是集合的元素类对象,它是一个独立的类对象。通过这个对象,可以遍历访问集合类对象中的每一个元素对象
如果集合类是用户自定义的集合类,则用户必须实现它的GetEnumerator()方法,否则不能使用循环。当然,与这个自定义集合类对应的IEnumerator类(实现了该接口的类),也要自定义一个才行
比如,ArrayList集合类对应的IEnumerator是 ArrayListEnumeratorSimple Array集合类对应的IEnumerator是 SZArrayEnumerator (这两个类在.net framework类库文档(msdn)中都没有介绍)
1.System.Colloctions中表示集合的行为的接口有: 1)ICollection
定义所有集合的大小、枚举数和同步方法。派生于IEnumerable 它定义了集合类最基本的行为,所有的集合类都实现了这个接口(基接口) 但是它的行为太过基本:主要就是一个Count属性,单独实现它没有太大意义
2)IEnumerable
公开枚举数,该枚举数支持在集合上进行简单迭代
它只有一个方法 GetEnumerator(),该方法可以返回一个IEnumerator接口,通过它可以遍历集合
基本上所有的集合类都实现了这个接口 3)IList
IList实现是可排序且可按照索引访问其成员的值的集合,它本身实现了ICollection和IEnumerable接口
是所有列表的抽象基类。IList 实现有三种类别:只读、固定大小、可变大小。

4)IDictionary
IDictionary实现是键/值对的集合,它本身实现了ICollection和IEnumerable接口 是键/值对的集合的基接口。IDictionary 实现有三种类别:只读、固定大小、可变大小。 IDictionary可称为字典、映射或散列表,它根据键(任意类型)来访问值
2.System.Collections中可以直接使用的集合类有: 1)ArrayList
实现了接口:IList、ICollection、IEnumerable
只要集合未被修改,ArrayList 就可安全地同时支持多个读取器
随着向 ArrayList 中添加元素,容量通过重新分配按需自动增加(2倍增加) 如果需要建立一个对象数组,但不能预先知道数组的大小,就可以使用ArrayList
ArrayList把所有元素都当作object对象引用,因而在访问ArrayList的元素时要进行类型转换
优点:动态改变大小、灵活方便的插入和删除元素、可排序 缺点:插入时性能不如数组、不是强类型的
2)BitArray
实现了接口:ICollection、IEnumerable 管理位值的压缩数组。
3)Hashtable
实现了接口:IDictionary、ICollection、IEnumerable
可以向Hashtable中自由添加和删除元素,有些像ArrayList,但没有那么大的性能开销
4)SortedList
实现了接口:IDictionary、ICollection、IEnumerable
SortedLIst兼顾了ArrayList和Hashtable的优点,可按键值来排序 5)Queue
实现了接口:ICollection、IEnumerable Queque是队列,先进先出的访问各个元素
可以调用Queque对象的GetEnumerator()方法,得到IEnumerator对象,来遍历队列中的各个元素 6)Stack
实现了接口:ICollection、IEnumerable Stack是堆栈,后进先出的访问各个元素
可以调用Stack对象的GetEnumerator()方法,得到IEnumerator对象,来遍历堆栈中的各个元素
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
QQ校友里的农场莫名多出N多不是同学的人怎会
PSP自制主题怎么让图标闪起来~
京东手机怎么退货,手机京东怎么取消订单退款
宏济堂大药房怎么去啊,有知道地址的么
冰糖是什么做的? 跟白砂糖有什么区别,做菜
期末考试励志名言,有什么考试失败励志的句子~
火影疾风传中和飞段角都打的那一节的片尾曲叫
泰华口腔在什么地方啊,我要过去处理事情
二连浩特烟草公司在什么地方?
问问七色彩虹计划,应该如何参与?
赛尔号索拉的性格是坦率
品味面馆我想知道这个在什么地方
孕妇可以用烤火炉吗
爱国的格言和古诗句,谁能提供一个古诗词的网
养300只羊能赚多少钱?
推荐资讯
齐力堂大药房健灵连锁店地址在什么地方,想过
电脑一直蓝屏怎么回事,电脑主机总是响,怎么
爱的表白经典语句,王俊凯真的像别人表白了吗
蘑菇种植投资多少钱,我打算栽培杏鲍菇,需要投
技嘉a88的主板,电源开关线的插口是哪个?怎
籼米和梗米的区别
厌氧UASB反应器的COD去除率大概是多少?
古诗宋词诗人简介,描写与家有关的宋词元曲
承诺爱情的成语
求媚骨txt
怎么上传证件照?
100元换的茅台,一箱六瓶,看下能喝么?如果
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?