C#程序设计经典 教程.ppt

C#程序设计经典 教程.ppt

ID:56467147

大小:627.00 KB

页数:37页

时间:2020-06-19

C#程序设计经典 教程.ppt_第1页
C#程序设计经典 教程.ppt_第2页
C#程序设计经典 教程.ppt_第3页
C#程序设计经典 教程.ppt_第4页
C#程序设计经典 教程.ppt_第5页
资源描述:

《C#程序设计经典 教程.ppt》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、1C#程序设计经典教程第六章集合、索引器与泛型1.总体要求了解.NET类库中的集合类,初步掌握常用集合的创建和操作方法。理解索引器的概念,能区别索引器与属性,掌握索引器的定义与使用。了解泛型的相关概念,初步掌握泛型接口、泛型类、泛型属性和泛型方法的使用。2.相关知识点熟悉类和数组的定义和使用。熟悉类的方法成员的定义与使用等基本操作。3.学习重点集合、索引器、泛型的定义与使用。4.学习难点索引器的作用、定义与使用方法泛型的概念和意义,泛型的定义和使用方法第六章集合、索引器与泛型第六章集合、索引器与泛型主要内容6.1集合6.2索引器6.3泛型6.1集合6.1

2、.1集合概述6.1.2ArrayList6.1.3哈希表Hashtable6.1.4栈和队列6.1.1集合概述集合能随意调整大小,集合可以把一组类似的对象组合在一起。任何类型的对象都可被组合到一个Object类型的集合中,并通过C#的foreach语句来访问其中的每一个对象。操作过程中MyClass的对象与Object对象之间MyClassmcObj;装箱:Objectobj=mcObj(无需显式转换)拆箱:mcObj=(MyClass)obj(事先装箱的)对象类型的集合位于System.Collections命名空间;6.1数组类Array数组是简单集

3、合System.Array类是所有数组的基类(特殊类,不能用于派生)publicabstractclassArray:ICloneable,IList{//类体:实现了多个接口//(数组操作的常用属性和方法,多为静态)}interfaceICollection{intCount{get;}voidCopyTo(Arrayarray,intindex);boolIsSynchronized{get;}objectSynchRoot{get;}}interfaceICloneable{objectClone();}interfaceIList:Collect

4、ion,IEnumerable{intAdd(objdectvalue);voidClear();boolContains(objectvalue);intIndexOf(objectvalue);voidRemove(objectkey);voidRemoveAt(intindex);voidInsert(intindex,objectvalue);…}interfaceIEnumerator{ObjectCurrent{get;}boolMoveNext();voidReset()}interfaceIEnumerable{//foreach遍历的基

5、础IEnumeratorGetenumerator();}publicstaticvoidMain(){int[]a=newint[3];Arrayb=Array.CreateInstance(typeof(int),3);for(inti=0;i<3;i++){a[I]=2*i; b.SetValue(3*i,i);}foreach(intxina)console.Write(“{0}”,x);foreach(intxinb)console.Write(“{0}”,x);}接口中的方法:默认是publicabstract的。继承接口的类:必须实现接口中

6、的所有属性和方法,否则该类是抽象的。6.1.4栈和队列1.栈StackStack类实现了先进后出的数据结构,这种数据结构在插入或删除对象时,只能在栈顶插入或删除。创建栈对象的一般形式如下:Stack栈名=newStack();Stack类提供了栈常用操作方法,包括在栈顶添加数据、移除栈顶数据、返回栈顶数据、清空栈和检查是否包含某个数据等,方法名分别为Push、Pop、Peek、Clear和Contains。其中,Push和Pop每操作一次只能添加或删除一个数据。a1a2an…栈底栈顶出栈进栈6.1.4栈和队列2.队列QueueQueue类实现了先进先出的

7、数据结构,这种数据结构把对象放进一个等待队列中,当插入或删除对象时,对象从队列的一端插入,从另外一端移除。队列可以用于顺序处理对象,因此队列可以按照对象插入的顺序来存储。创建队列对象的一般形式如下:Queue队列名=newQueue([队列长度][,增长因子]);其中,队列长度默认为32。增长因子默认为2.0,即每当队列容量不足时,队列长度调整为原来的2倍,可重新设置增长因子的大小。a1a2a3…an队头队尾出队入队10集合类的选择选择集合类时,一般要考虑以下问题:(1)是否需要一个序列列表,需要先进先出行为时可使用Queue队列类,在需要后进先出行为时

8、可使用Stack栈类。(2)是否需要随机访问集合中的元素,此时不能选择Queue

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

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

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