- 1、本文档共37页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
8 使用组和集合
8 使用数组和集合 8 使用数组和集合 数组是一种自定义类型,是引用类型。 数组是一个无序的元素序列。 数组中的所有元素都具有相同的类型 数组中的元素存储在连续的内存块中,使用整数的索引来访问。 本课主要介绍以下内容: 定义和初始化数组 访问数组和数组元素 认识数组作为方法的参数的作用 理解参数数组 了解一些常用集合类的使用 8.1 声明数组变量 C#中,可以创建一维数组 8.1 声明数组变量 C#中,还可以创建多维数组 8.1 声明数组变量 C#中,还可以创建交错数组(数组的数组) 8.1 声明数组变量 数组是对象,使用时要用new进行实例化 允许创建大小为0的数组。 数组可以是一维、多维或交错的。 数值数组元素的默认值设置为零,而引用元素的默认值设置为 null。 交错数组是数组的数组,因此其元素是引用类型并初始化为 null。 数组的索引从零开始:具有 n 个元素的数组的索引是从 0 到 n-1。 数组元素可以是任何类型,包括数组类型。 8.2 访问数组成员 初始化数组 访问数组成员 大括号中的值不都是常数,可以是在运行时通过运算而得到的值: 8.2.1 遍历整个数组 使用 for语句可以遍历所有数组元素 8.2.2 遍历整个数组 使用 foreach 语句为数组中的每一个元素反复执行嵌入的代码 8.2.3 for与foreach的比较 foreach语句总是遍历整个数组。如果只需要遍历数组的特定部分(如前半部分),或者绕过特定元素(如只遍历索引为偶数的元素),最好是使用for语句。 foreach语句总是从索引0遍历到索引Length-1,如果需要反向遍历,那么最好是使用for语句。 如果循环体需要知道元素索引,而不仅仅是元素值,那么必须使用for语句。 如果需要修改数组元素,那么必须使用for语句,因为foreach语句的循环变量是一个只读变量。 8.2.4 数组的有关属性 数组的属性: Length:数组包含多少个元素 数组的方法: Clone:获取与源数组一模一样的数组 CopyTo:将源数组拷贝到目标数组的指定位置 Array类的方法: Sort:排序 Reverse:反转 8.2.5 理解深拷贝与浅拷贝 阅读教材P176关于“复制数组”一节 如果数组元素是引用类型,进行数组元素复制时,只复制对象的引用,不会为新数组对象分配新的内存空间。这称为“浅拷贝” 8.3 认识集合 数组的大小是固定的。如果要扩容,需要重新使用new来分配内存空间。 有时,还有其它一些要求,如: 先进先出,FIFO,即队列 后进先出,LIFO,即栈 按键值查找,即字典功能 有序 教材P184~192介绍了以下集合类型,请自行阅读 ArrayList,顺序表 Queue,队列 Stack,栈 HashTable,哈希表,实现字典功能 SortedList,有序表 8.3.1 示例:宾馆住宿程序 主要学习使用集合类对象,将数据绑定到comboBox控件 了解数据绑定 熟悉ListT类型的使用 定义Room类 8.3.2 声明列表对象并初始化 8.3.3 计算 8.4 数组作为方法的参数 为演示数组作方法的参数,我们来编写一组方法 方法1:将数组内容转换为字符串 方法名:ArrayToString 功能:将数组内容转换为字符串 参数:int[] array 返回值:string, 表示数组内容的字符串 8.4.1 ArrayToString方法 8.4.2 ArraySum方法 方法2:求数组中一组数的和 方法名:ArraySum 功能:求数组中的所有整数的和 参数:int[] array 返回值:int, 整数数组中所有数的和 ArraySum方法 8.4.3 利用数组接收不确定个数的参数 关键字params 它用来定义一个数组,这个数组可以接收调用者传递过来的不确定个数的一组数据。 方法3:求一组数的和 方法名:Sum 功能:求一组整数的和 参数:params int[] array 返回值:int, 这组数的和 Sum方法 8.4.4 比较参数数组和可选参数 教材3.4节介绍了可选参数和命名参数 可以通过以下形式调用 8.4.4 比较参数数组和可选参数 如果同时有参数数组和可选参数的两个Sum方法,下面的语句,会调用哪个方法? 8.4.5 参数的按引用传递 方法3:计算一组数的和与平均值 方法名:Sum 功能:求一组整数的和 参数:params int[] array 返回值:int, 这组数的和 另一个Sum方法 另一个Sum方法 使用ref关键字 使用ref关键字 8.4.6 编写第4个方法:GenerateArray 方法4:给数组元素赋随机值 方法名:GenerateArray 功能:逐个给数组中的每
文档评论(0)