以下内容来自MSDN
数组是具有相同数据类型的项的有序集合。要访问数组中的某个项,需要同时使用数组名称及该项与数组起点之间的偏移量。在C#中,声明和使用数组的方法与Java有一些重要区别。
一维数组
一维数组以线性方式存储固定数目的项,只需一个索引值即可标识任意一个项。在C#中,数组声明中的方括号必须跟在数据类型后面,且不能放在变量名称之后,而这在Java中是允许的。因此,类型为integers的数组应使用以下语法声明:
int[]arr1;
下面的声明在C#中无效:
//intarr2[];//compileerror
声明数组后,可以使用new关键字设置其大小,这一点与Java相同。下面的代码声明数组引用:
int[]arr;
arr=newint[5];//createa5elementintegerarray
然后,可以使用与Java相同的语法访问一维数组中的元素。C#数组索引也是从零开始的。下面的代码访问上面数组中的最后一个元素:
System.Console.WriteLine(arr[4]);//accessthe5thelement
初始化
C#数组元素可以在创建时使用与Java相同的语法进行初始化:
int[]arr2Lines;
arr2Lines=newint[5]{1,2,3,4,5};
但C#初始值设定项的数目必须与数组大小完全匹配,这与Java不同。可以使用此功能在同一行中声明并初始化C#数组:
int[]arr1Line={1,2,3,4,5};
此语法创建一个数组,其大小等于初始值设定项的数目。
在程序循环中初始化
在C#中初始化数组的另一个方法是使用for循环。下面的循环将数组的每个元素都设置为零:
int[]TaxRates=newint[5];
for(inti=0;i<TaxRates.Length;i++)
{
TaxRates[i]=0;
}
交错数组
C#和Java都支持创建交错(非矩形)数组,即每一行包含的列数不同的数组。例如,在下面的交错数组中,第一行有四项,而第二行有三项:
int[][]jaggedArray=newint[2][];
jaggedArray[0]=newint[4];
jaggedArray[1]=newint[3];
多维数组
可以使用C#创建规则的多维数组,多维数组类似于同类型值的矩阵。虽然Java和C#都支持交错数组,但C#还支持多维数组(数组的数组)。
使用以下语法声明多维矩形数组:
int[,]arr2D;//declarethearrayreference
float[,,,]arr4D;//declarethearrayreference
声明之后,可以按如下方式为数组分配内存:
arr2D=newint[5,4];//allocatespacefor5x4integers
然后,可以使用以下语法访问数组的元素:
arr2D[4,3]=906;
由于数组是从零开始的,因此此行将第四行第五列中的元素设置为906。
初始化
可以使用以下一种方法,在同一个语句中创建、设置并初始化多维数组:
int[,]arr4=newint[2,3]{{1,2,3},{4,5,6}};
int[,]arr5=newint[,]{{1,2,3},{4,5,6}};
int[,]arr6={{1,2,3},{4,5,6}};
当前1/2页12下一页阅读全文