1.声明数组
下面的示例展示如何声明不同类型的数组:
一维数组:
int[] numbers;
多维数组:
string[,] names;
交错数组(数组中的数组):
byte[][] scores;
2、实例化数组
声明数组(如上所示)并不实际创建它们。在 C# 中,数组是对象(事实上,C#和.NETFramework中的所有东西都是对象),必须进行实例化。下面的示例展示如何创建数组:
一维数组:
int[] numbers = new int[5];
常见问题:
int[3] arr; //错误,不能这样指定数组大小
应该是:
int[] arr = new int[3]; //正确,声明一个长度为 3 的 int 类型数组,[]中的数字表示长度不是下标的上界。
多维数组:
string[,] names = new string[5,4];
交错数组(锯齿数组或“数组的数组”):
交错数组是指数组的元素又是一个数组,这和多维数组是不一样的,也就是说,交错数组就是“数组的数组”。
byte[][] scores = new byte[5][];
for (int x = 0; x < scores.Length; x++)
{
scores[x] = newbyte[4];
}
还可以有更大的数组。例如,可以有三维的矩形数组:
int[,,] buttons = new int[4,5,3];
甚至可以将矩形数组和交错数组混合使用。例如,下面的代码声明了类型为 int 的二维数组的三维数组的一维数组。
int[][,,][,] numbers;
声明数组
int[][] arr = new int[3][];
arr[0] = new int[7];
arr[1] = new int[8];
arr[2] = new int[9];
以上数组中 arr 是一个长度为 3 的数组。
arr 的第一个元素是一个长度为 7 的数组,第二个元素是一个长度为 8 的数组,第三个元素是一个长度为 9 的数组。
一定注意: int[][] arr = new int[3][]; 不能写成 int[] arr = new int[3];
另外,初始化时第二个中括号中也不能有数值。