admin 管理员组文章数量: 1086019
2024年3月20日发(作者:php定义)
本页已使用福昕阅读器进行编辑。
福昕软件(C)2005-2007,版权所有,
仅供试用。
第
5
章
数 组
如果需要使用同一类型的多个对象,就可以使用集合和数组。C# 用特殊的记号声明和使用数组。Array
类在后台发挥作用,为数组中元素的排序和过滤提供了几个方法。
使用枚举器,可以迭代数组中的所有元素。
本章讨论如下内容:
● 简单数组
● 多维数组
● 锯齿数组
● Array类
● 数组的接口
● 枚举
5.1 简单数组
如果需要使用同一类型的多个对象,就可以使用数组。数组是一种数据结构,可以包含同一类型的多个元
素。
5.1.1 数组的声明
在声明数组时,应先定义数组中元素的类型,其后是一个空方括号和一个变量名。例如,下面声明了一个
包含整型元素的数组:
int[] myArray;
5.1.2 数组的初始化
声明了数组后,就必须为数组分配内存,以保存数组的所有元素。数组是引用类型,所以必须给它分配堆
上的内存。为此,应使用new运算符,指定数组中元素的类型和数量来初始化数组的变量。下面指定了数组
的大小。
第5章 数组
提示:值类型和引用类型请参见第3章。
myArray = new int[4];
在声明和初始化后,变量myArray就引用了4个整型值,它们位于托管堆上,如图5-1所示。
Stack
myArray
Managed Heap
int
int
int
int
图5-1
警告:在指定了数组的大小后,如果不复制数组中的所有元素,就不能重新设置数组的大小。如果事先不
知道数组中应包含多少个元素,就可以使用集合。集合请参见第10章。
除了在两个语句中声明和初始化数组之外,还可以在一个语句中声明和初始化数组:
int[] myArray = new int[4];
还可以使用数组初始化器为数组的每个元素赋值。数组初始化器只能在声明数组变量时使用,不能在声明
数组之后使用。
int[] myArray = new int[4] {4, 7, 11, 2};
如果用花括号初始化数组,还可以不指定数组的大小,因为编译器会计算出元素的个数:
int[] myArray = new int[] {4, 7, 11, 2};
使用C# 编译器还有一种更简化的形式。使用花括号可以同时声明和初始化数组,编译器生成的代码与前
面的例子相同:
int[] myArray = {4, 7, 11, 2};
5.1.3 访问数组元素
数组在声明和初始化后,就可以使用索引器访问其中的元素了。数组只支持有整型参数的索引器。
提示:在定制的类中,可以创建支持其他类型的索引器。创建定制索引器的内容请参见第6章。
通过索引器传送元素号,就可以访问数组。索引器总是以0开头,表示第一个元素。可以传送给索引器的
最大值是元素个数减1,因为索引从0开始。在下面的例子中,数组myArray用4个整型值声明和初始化。用
索引器0、1、2、3就可以访问该数组中的元素。
int[] myArray = new int[] {4, 7, 11, 2};
int v1 = myArray[0]; // read first element
int v2 = myArray[1]; // read second element
myArray[3] = 44; // change fourth element
警告:如果使用错误的索引器值(不存在对应的元素),就会抛出IndexOutOfRangeException类型的异常。
如果不知道数组中的元素个数,则可以在for语句中使用Length属性:
for (int i = 0; i < ; i++)
{
ine(myArray[i]);
}
2
版权声明:本文标题:C#教程——05第5章 数组 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1710912248a579258.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论