无私分享(C#高级编程第6版doc)第05章 数组

无私分享(C#高级编程第6版doc)第05章 数组

ID:42425395

大小:325.00 KB

页数:17页

时间:2019-09-14

无私分享(C#高级编程第6版doc)第05章 数组_第1页
无私分享(C#高级编程第6版doc)第05章 数组_第2页
无私分享(C#高级编程第6版doc)第05章 数组_第3页
无私分享(C#高级编程第6版doc)第05章 数组_第4页
无私分享(C#高级编程第6版doc)第05章 数组_第5页
资源描述:

《无私分享(C#高级编程第6版doc)第05章 数组》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、目录第5章数   组25.1 简单数组25.1.1 数组的声明25.1.2 数组的初始化25.1.3 访问数组元素35.1.4 使用引用类型35.2 多维数组45.3 锯齿数组55.4 Array类65.4.1 属性65.4.2 创建数组75.4.3 复制数组75.4.4 排序95.5 数组和集合接口115.5.1 IEumerable接口115.5.2 ICollection接口115.5.3 IList接口115.6 枚举125.6.1 IEnumerator接口125.6.2 foreach语句135.6.3 yield语句135.7 小

2、结17第5章数   组如果需要使用同一类型的多个对象,就可以使用集合和数组。C#用特殊的记号声明和使用数组。Array类在后台发挥作用,为数组中元素的排序和过滤提供了几个方法。使用枚举器,可以迭代数组中的所有元素。本章讨论如下内容:● 简单数组● 多维数组● 锯齿数组● Array类● 数组的接口● 枚举5.1 简单数组如果需要使用同一类型的多个对象,就可以使用数组。数组是一种数据结构,可以包含同一类型的多个元素。5.1.1 数组的声明在声明数组时,应先定义数组中元素的类型,其后是一个空方括号和一个变量名。例如,下面声明了一个包含整型元素的数组

3、:int[]myArray;5.1.2 数组的初始化声明了数组后,就必须为数组分配内存,以保存数组的所有元素。数组是引用类型,所以必须给它分配堆上的内存。为此,应使用new运算符,指定数组中元素的类型和数量来初始化数组的变量。下面指定了数组的大小。提示:值类型和引用类型请参见第3章。myArray=newint[4];在声明和初始化后,变量myArray就引用了4个整型值,它们位于托管堆上,如图5-1所示。 图 5-1警告:在指定了数组的大小后,如果不复制数组中的所有元素,就不能重新设置数组的大小。如果事先不知道数组中应包含多少个元素,就可以使

4、用集合。集合请参见第10章。除了在两个语句中声明和初始化数组之外,还可以在一个语句中声明和初始化数组:int[]myArray=newint[4];还可以使用数组初始化器为数组的每个元素赋值。数组初始化器只能在声明数组变量时使用,不能在声明数组之后使用。int[]myArray=newint[4]{4,7,11,2};如果用花括号初始化数组,还可以不指定数组的大小,因为编译器会计算出元素的个数:int[]myArray=newint[]{4,7,11,2};使用C#编译器还有一种更简化的形式。使用花括号可以同时声明和初始化数组,编译器生成的代码

5、与前面的例子相同:int[]myArray={4,7,11,2};5.1.3 访问数组元素数组在声明和初始化后,就可以使用索引器访问其中的元素了。数组只支持有整型参数的索引器。提示:在定制的类中,可以创建支持其他类型的索引器。创建定制索引器的内容请参见第6章。通过索引器传送元素号,就可以访问数组。索引器总是以0开头,表示第一个元素。可以传送给索引器的最大值是元素个数减1,因为索引从0开始。在下面的例子中,数组myArray用4个整型值声明和初始化。用索引器0、1、2、3就可以访问该数组中的元素。int[]myArray=newint[]{4,7

6、,11,2};intv1=myArray[0];   //readfirstelementintv2=myArray[1];   //readsecondelementmyArray[3]=44;     //changefourthelement警告:如果使用错误的索引器值(不存在对应的元素),就会抛出IndexOutOfRangeException类型的异常。如果不知道数组中的元素个数,则可以在for语句中使用Length属性:for(inti=0;i

7、y[i]);}除了使用for语句迭代数组中的所有元素之外,还可以使用foreach语句:for(intvalinmyArray){Console.WriteLine(val);}提示:foreach语句利用了本章后面讨论的IEnumerable和IEnumerator接口。5.1.4 使用引用类型不但能声明预定义类型的数组,还可以声明定制类型的数组。下面用Person类来说明,这个类有两个构造函数、自动实现的属性Firstname和Lastname、以及ToString()方法的一个重写:publicclassPerson{publicPers

8、on()}{publicPerson(stringfirstName,stringlastName){this.firstname=firstName

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

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

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