C#程序设计实用教程 教学课件 作者 李正夫第06章.ppt

C#程序设计实用教程 教学课件 作者 李正夫第06章.ppt

ID:50318549

大小:143.00 KB

页数:15页

时间:2020-03-08

C#程序设计实用教程 教学课件 作者 李正夫第06章.ppt_第1页
C#程序设计实用教程 教学课件 作者 李正夫第06章.ppt_第2页
C#程序设计实用教程 教学课件 作者 李正夫第06章.ppt_第3页
C#程序设计实用教程 教学课件 作者 李正夫第06章.ppt_第4页
C#程序设计实用教程 教学课件 作者 李正夫第06章.ppt_第5页
资源描述:

《C#程序设计实用教程 教学课件 作者 李正夫第06章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第六章集合和泛型集合C#中,集合表示可以通过foreach循环遍历每个元素来访问的一组对象;使用foreach循环是集合的主要目的。集合泛泛地讲,如果对象可以提供对相关对象的引用,那么它就是一个集合,它可以遍历集合中的每个数据项;专业的说法是所有实现了System.Collections.IEnumerable接口的类的对象都是集合。集合interfaceIEnumerable{IEnumeratorGetEnumerator();}该方法的作用是返回枚举对象,返回的枚举对象要支持接口IEnumerator用户也可

2、以自行定义集合类,只要该类满足接口IEnumerable,就是一个集合类。集合Framework对IEnumerator接口的定义为:interfaceIEnumerator{ObjectCurrent{get;}BoolMoveNext();voidReset();}实现该接口的对象应该与一个集合相关联,这个对象在初始化的时候,还没有指向集合中的任何元素,必须调用MoveNext()移动枚举,才能使它指向集合中的第一个元素,接着使用Current属性可以获取该元素;Current属性返回对一个对象的引用;当需要访

3、问下一个元素时,再次调用MoveNext(),直到Current为null,表示达到了集合的尾部;如果要返回集合的开头,使用Reset()方法和MoveNext()方法,指向第一个元素。集合数组列表ArrayList也是一种集合类型,在System.Collections名称空间下;可以将它看作是数组的复杂版本与数组的区别:数组Array是固定长度的,而ArrayList类是可以根据需要自动扩展的数组中元素的数据类型都是一致的,而ArrayList中的数据类型可以不同集合修改或者获取ArrayList的容量使用Ca

4、pacity属性,通过设置该属性的值可以修改ArrayList的容量;读取该属性的值可以获取ArrayList的容量当为ArrayList对象添加的数据元素的个数超出初始化时指定的数据项个数时,ArrayList对象的容量还可以自动增长,默认增长后的容量为原来的2倍,即数据项的个数为初始化时的2倍。集合添加ArrayList的数据项Add();向列表尾部添加,输入参数为object类型数据AddRange();向列表尾部添加,输入参数为对象组Insert();向指定位置添加,输入数据为位置索引和要添加的对象(obj

5、ect)集合删除ArrayList的数据项Remove();输入参数为object类型数据,将第一个与指定对象相等的数据项从列表中删除RemoveAt();输入参数为要删除的数据项索引值,将指定位置的数据删除泛型泛型是.NET2.0的CLR中引入一个新概念。在以前的.NET版本中,当编译时不确定使用什么类时,就需要以object为基础,尽心转换;这样做确保了代码的灵活性,但由于Object类在编译期间没有类型安全性,因此必须进行强制类型转换,使代码变得复杂;而且给值类型使用Object类还会造成性能损失的。在.NE

6、T2.0中,泛型类型可以根据需要用特定的类型替换泛型类型,确保了类型安全性。泛型最常用的泛型List如果对象组的数据类型一致,并且对象个数不确定,或者个数随程序的执行会发生变化;同时对对象组中数据项的访问不需要通过关键字来实现,只需要通过下标索引访问数据项;又或者希望对对象组中的数据项成员进行排序和搜索等操作,可以使用泛型List泛型创建T类型对象的泛型集合语法为:List泛型对象名=newList();添加泛型List的数据项Add();向列表尾部添加,输入参数为T类型数据AddRa

7、nge();向列表尾部添加,输入参数为T类型对象组Insert();向指定位置添加,输入数据为位置索引和要添加的对象(T类型)泛型删除泛型List的数据项Remove();输入参数为T类型数据,将第一个与指定对象相等的数据项从列表中删除RemoveAt();输入参数为要删除的数据项索引值,将指定位置的数据删除Clear()方法可以清除List中所有项泛型List与ArrayList有2个共同的属性Capacity和CountCapacity同前Count表示列表中现有数据项的个数泛型此外,泛型Li

8、st提供了多个有用的方法:IndexOf()方法可以获取指定项在List中的索引值,输入参数为T类型数据,将返回第一个与指定对象相等的数据项的索引Sort()方法,可以将List中的数据项按照某种规则排序其前提是T类型提供了CompareTo()方法,可以实现对当前类的实例和另一个T类型对象的比较,返回int值。CopyTo()方法可以将L

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

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

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