Visual C# 2005程序设计教程 教学课件 ppt 作者 978-7-302-19477-4 ch04

上传人:E**** 文档编号:89350263 上传时间:2019-05-23 格式:PPT 页数:14 大小:285.50KB
返回 下载 相关 举报
Visual C# 2005程序设计教程 教学课件 ppt 作者 978-7-302-19477-4 ch04_第1页
第1页 / 共14页
Visual C# 2005程序设计教程 教学课件 ppt 作者 978-7-302-19477-4 ch04_第2页
第2页 / 共14页
Visual C# 2005程序设计教程 教学课件 ppt 作者 978-7-302-19477-4 ch04_第3页
第3页 / 共14页
Visual C# 2005程序设计教程 教学课件 ppt 作者 978-7-302-19477-4 ch04_第4页
第4页 / 共14页
Visual C# 2005程序设计教程 教学课件 ppt 作者 978-7-302-19477-4 ch04_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《Visual C# 2005程序设计教程 教学课件 ppt 作者 978-7-302-19477-4 ch04》由会员分享,可在线阅读,更多相关《Visual C# 2005程序设计教程 教学课件 ppt 作者 978-7-302-19477-4 ch04(14页珍藏版)》请在金锄头文库上搜索。

1、第4章 数组与集合 本章要点: 数组的概念及定义 一维数组的使用 理解集合的概念及使用 常用的集合类,4.1 数组,4.1.1 数组的声明 数组的定义格式为: 数组类型修饰符 数组名=new 数组类型数组元素初始化列表; 其中数组类型修饰符可以是任何在C#中定义的类型,数组类型修饰符后面的方括号必不可少,数组名要符合变量命名规则,并且不和其他成员名发生冲突。 在C#中,如果数组的大小必须动态地被计算,用于数组创建的语句可以这样书写: int ArrayLength= 5; int ArrayElement= new intArrayLength;,4.1 数组,4.1.1 数组的声明 C#中也

2、允许在定义数组时对数组元素进行初始化,比如如下定义: /定义string类型数组,数组元素分别由“C”,“C+”,“C#”进行初始化 string arrLanguages=new string “C“, “C+“, “C#“ ; 如果采用了这种进行初始化的定义后,就不用再指出数组的大小。系统会自动把大括号里元素的个数作为数组的长度。 多维数组的定义和一维数组格式差不多,区别只是在不同的维数处理上。多维数组的定义格式为: 数组类型修饰符维数1,维数2,维数3, 数组名;,4.1 数组,4.1.2 一维数组的使用 一维数组是最基本,也是最常用的数组。在C#中是通过指定索引(下标)的方式,访问特定

3、的数组元素。即通过数组元素的下标(索引)去存取某个的数组元素。如: int I = myIntArr2; myIntArr2 = +I; 对于数组元素的访问,最常用的是遍历。即遍历数组所包含的所有元素。在C#中,除了常用的for循环外,还提供了foreach循环。参考如下示例代码:,4.1 数组,4.1.2 一维数组的使用 using System; class Test public static void Main() int myIntArr = new int61,2,3,4,5,6; foreach(int i in myIntArr) Console.WriteLine(i); ,

4、4.1 数组,4.1.3 多维数组的使用 多维数组的使用和一维数组类似,可以利用下标来访问,也可以利用foreach循环进行遍历,请参考以下示例代码,该段代码用来计算每位学生的总分和班级平均分。 using System; class Test public static void Main() const int Pupil=50; /学生人数 const int Class=5; /考试科目数 int, Score=78,90,89,85,92, 89,85,79,100,95,94,86,78,89,95; /存储学生成绩的二维数组 int i,j; int Sum;,4.1 数组,4.

5、1.3 多维数组的使用 int Aver=0,0,0; /存储每门平均成绩的一维数组。 Console.WriteLine(“学号 总分“); for (i=0;iPupil;i+) Sum=0; for (j=0;jClass;j+) Sum=Sum+Scorei,j; /每位同学成绩总分的统计 Averj=Averj+Scorei,j; /每门平均成绩的统计 Console.WriteLine(“No.0 1“,i+1,Sum); Console.WriteLine(“科目平均成绩是:“); for (j=0;jClass;j+) Averj/=Pupil; Console.Write(“

6、0 “,Averj); ,4.2 集合,4.2.1 集合的定义 如果一个类型满足所有下列条件,实现System.IEnumerable接口或实现集合模式,就称它是集合类型: (1) 类型包含一个签名GetEnumerator(),返回结构类型(struct)、类类型(class)或接口类型(interface)的public实例方法。 (2) 类型所包含的public实例方法具有签名MoveNext()和返回类型bool。它递增项计数器并在集合中存在更多项时返回true。 (3) 类型包含一个名为Current的public实例属性,此属性允许读取当前值。此属性的类型称为该集合类型的元素类型,

7、读取时返回是集合的当前元素。,4.2 集合,4.2.2 集合的使用 C#系统为用户提供了foreach语句,更好的支持了集合的使用。利用foreach 语句就可方便地要遍历集合中的每一个集合元素,foreach 语句的表达式的类型必须是集合类型。 foreach语句的格式为: foreach ( 类型 标识符 in 表达式 ) 嵌入语句; foreach语句的类型和标识符声明该语句的迭代变量。迭代变量对应于一个其范围覆盖整个嵌入语句的只读局部变量。在foreach语句执行期间,迭代变量表示当前正在为其执行迭代的集合元素。,4.2 集合,4.2.3 常用的预定义集合类 (1) ArrayList

8、类 ArrayList类被设计成为一个动态数组类型,其容量会随着需要而适当的扩充,不同于Array。下面通过范例来掌握几个ArrayList常用属性的方法。 ArrayList具有的方法如下: Add()向数组中添加一个元素; Remove()删除数组中的一个元素; RemoveAt(int i)删除数组中索引值为i的元素; Reverse()反转数组的元素; Sort()以从小到大的顺序排列数组的元素; Clone()复制一个数组。,4.2 集合,4.2.3 常用的预定义集合类 (2) Queue类 Queue(队列)是一种先进先出的数据结构,此类定义了两个重要的方法为: enqueue:该

9、方法用来将一个对象放到Queue结构的末尾, Dequeue:该方法则从Queue结构的顶端将对象删除。 Peek:该方法只是取得对象的值并不会删除对象的值,4.2 集合,4.2.3 常用的预定义集合类 (3) Stack类 Stack类是一个后进先出的数据结构,此类定义了两个重要的方法为Push,Pop: Push:用以将一个对象放到stack的最顶端, Pop:从stack里将最顶端的对象取出,并且将其删除, Peek:该方法只是取得对象的值并不会删除对象的值。,4.2 集合,4.2.3 常用的预定义集合类 (4) HashTable类 Hashtable(哈希表),即名值对。用于处理和表

10、现类似key/value的键值对,其中key通常可用来快速查找,同时key是区分大小写;value用于存储对应于key的值。Hashtable中key/value键值对均为object类型,所以Hashtable可以支持任何类型的key/value键值对。,4.2 集合,4.2.3 常用的预定义集合类 (5) SortedList类 SorterList类表示键/值对的集合,这些键和值按键排序并可按照键和索引访问。 SortedList最合适对一列健/值对 进行排序,在排序时,是对键进行排序,SortedList 是 Hashtable 和 Array 的混合。当使用 Item 索引器属性按照元素的键访问元素时,其行为类似于 Hashtable。当使用 GetByIndex 或 SetByIndex 按照元素的索引访问元素时,其行为类似于 Array。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号