C#windows编程基础

C#windows编程基础

ID:45033254

大小:843.00 KB

页数:41页

时间:2019-11-08

C#windows编程基础_第1页
C#windows编程基础_第2页
C#windows编程基础_第3页
C#windows编程基础_第4页
C#windows编程基础_第5页
资源描述:

《C#windows编程基础》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、1集合、索引器与泛型集合索引器泛型集合集合概述选择集合类集合的创建与操作集合概述集合是通过高度结构化的方式存储任意对象的类,与无法动态调整大小的数组相比,集合不仅能随意调整大小,而且对存储或检索存储在其中的对象提供了更高级的方法。NETFramework2.0引入了泛型集合(如对象列表List)和强类型非泛型集合(字符串集合StringCollection),在使用泛型集合或非强类型非泛型集合时,要保证元素的类型是集合所需的类型。System.Collections命名空间的ICollection接口定义了所有非泛型集合的大小和操作方

2、法,包括添加、移除与搜索集合元素等。System.Collections命名空间还包含了ICollection接口最常用的已实现的集合类。选择集合类.NETFramework的集合类集合类的选择.NETFramework的集合类(1)常用集合(2)位集合包括BitArray和BitVector32(3)专用集合包括StringCollection、StringDictionary和NameValueCollection等集合类的选择选择集合类时,一般要考虑以下问题:(1)是否需要一个序列列表,需要先进先出行为时可使用Queue队列类,

3、在需要后进先出行为时可使用Stack栈类。(2)是否需要随机访问集合中的元素,此时不能选择Queue队列类、Stack栈类、LinkedList双向链表类(3)是否需要通过索引访问每个元素,只有ArrayList、StringCollection等是从索引为零的元素开始逐个访问集合元素。Hashtable、Dictionary通过元素的键(即元素名字)提供对元素的访问。而NameValueCollection类和SortedList泛型类通过其元素的从零开始的索引,或者通过其元素的键提供对元素的访问。(4)是否包含一个值、一个键和一个

4、值的集合,还是一个键和多个值的集合。其中,“一个值”的集合是一种基于IList列表接口派生的集合,“一个键和一个值”的集合是一种基于IDictionary字典接口的集合,“一个键和多个值”的集合是NameValueCollection类。集合类的选择(续)(5)是否需要用与输入元素方式不同的方式对元素排序。Hashtable按其元素的哈希代码对元素排序,SortedList以及SortedDictionary根据IComparer实现按键对元素的排序,而ArrayList提供Sort排序方法。(6)是否需要信息的快速搜索和检索,对于小

5、集合(10个元素或更少),ListDictionary比Hashtable快,SortedDictionary泛型类提供比Dictionary泛型类更快的查找。(7)是否需要只接受字符串的集合,如StringCollection和StringDictionary等。集合的创建与操作1.动态数组类ArrayList2.队列Queue3.栈Stack4.哈希表Hashtable5.字符串字典StringDictionary6.键/值对集合NameValueCollection1.动态数组类ArrayList(1)ArrayList与Arr

6、ay的区别Array的大小是固定的,而ArrayList的大小可根据需要自动扩充;在Array中一次只能获取或设置一个元素的值,而在ArrayList中允许添加、插入或移除某一范围的元素;Array的下限可以自定义,而ArrayList的下限始终为零;Array可以具有多个维度,而ArrayList始终只是一维的;Array位于System命名空间中,ArrayList位于System.Collections命名空间中。(2)创建动态数组:ArrayList列表对象名=newArrayList( );例如,ArrayListlist=

7、newArrayList();list.Add("罗福强");list.Add(30);2.队列Queue队列的特点一种先进先出的数据结构,当插入或删除对象时,对象从队列的一端插入,从另外一端移除创建队列对象Queue队列名=newQueue([队列长度][,增长因子]);说明,队列长度默认为32,增长因子默认为2.0(即每当队列容量不足时,队列长度调整为原来的2倍)注意,由于调整队列的大小需要付出一定的性能代价,因此建议在构造队列时指定队列的长度。队列包括Enqueue、Dequeue、Peek、Clear和Contains等方法。

8、其中,Enqueue和Dequeue每操作一次只能添加或删除一个数据。例如:Queueq=newQueue(50,3.0);q.Enqueue("董涛");q.Enqueue("徐磊");构造函数Queue举例3.栈St

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。