- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C#集合基础与运用
1.集合接口与集合类型
(1)集合的命名空间
大多数集合类都可以在System.Collections和System.Collections.Generic名称空间中找到。泛型集合位于System.Collections.Generic名称空间中;专用于特定类型的集合类位于System.Collections.Specialized名称空间中;线程安全的集合位于System.Collections.Concurrent名称空间中。
(2)集合接口介绍
1、IEnumerable与IEnumerator接口
其实IEnumerable接口是非常的简单,只包含一个抽象的方法GetEnumerator(),它返回一个可用于循环访问集合的IEnumerator对象。
??? public interface IEnumerable
??? {
??????? IEnumerator GetEnumerator();
}
IEnumerator对象有什么呢?它是一个真正的集合访问器,没有它,就不能使用foreach语句遍历集合或数组,因为只有IEnumerator对象才能访问集合中的项。IEnumerator接口定义了:一个Current属性用来获取当前集合中的项;MoveNext方法将游标的内部位置向前移动;Reset方法将枚举数设置为其初始位置,该位置位于集合中第一个元素之前。
??? public interface IEnumerator
??? {
??????? object Current { get; }
??????? bool MoveNext();
??????? void Reset();
}
一个collection要支持foreach进行遍历,就必须实现IEnumerable,并以某种方式返回迭代器对象:IEnumerator。
2、集合和列表实现的接口表
接口 说明 IEnumerableT 如果foreach语句用于集合,就需要此接口。 ICollectionT 此集合定义了Count属性、CopyTo、Add、Remove、Clear方法 IListT 可以通过位置访问几何元素 ISetT 此集合不允许有重复的元素 IDictionaryK,V 含有键值对的集合 ILookupK,V 含有键值对的集合,但可以通过一个键包含多个值 IComparerT 集合元素比较器,用于集合元素的排序 IEqualityComparerT 用于字典集合的比较器 IProducerConsumerCollectionT 线程安全的集合 2.集合的基本操作
(1)创建集合
使用默认的构造函数创建一个空集合,元素添加到集合之后,集合的容量就会扩大为4。当集合的容量被使用完,且还在向集合中添加元素时,集合的容量就会扩大成原来的2倍!可使用Capacity属性设置或访问集合的容量,使用Count属性访问集合的元素个数。也可使用TrimExcess方法调整集合容量,节省内存!
??? class Program
??? {
??????? static void Main(string[] args)
??????? {
??????????? Listint list = new Listint();//Listint list = new Listint(3)
??????????? for (int i = 0; i 1025; i++)
??????????? {
??????????????? if (list.Count == (list.Capacity))
??????????????? {
??????????????????? Console.WriteLine(容量使用量:+list.Count + / + list.Capacity);
??????????????? }
??????????????? list.Add(i);
??????????? }
??????????? Console.WriteLine(容量使用量: + list.Count + / + list.Capacity);
??????????? list.TrimExcess();//调整容量
??????????? Console.WriteLine(容量使用量: + list.Count + / + list.Capacity);
??????????? Console.Read();
??????? }
}
创建集合时可以为集合设置初始值,如下:
Listint list = new Listint() { 1,2,3,4,5,6,7,8,9,0};
Liststring list
文档评论(0)