在C#中,数组实际上是对象,而不只是如在C和C++中的连续内存的可寻址区域。
我的理解:把int[]这种看成一个独立的类型名。
数组下标从0开始。
关于数组长度:创建数组实例时,将建立纬度数量和每个纬度的长度。这些值在实例的生存期内无法更改。
using System; namespace HelloWorldApplication { class HelloWorld { static void Main(string[] args) { // 一维数组 int[] array1 = new int[5]; // 使用new创建固定长度的数组 int[] array2 = new int[] { 1, 3, 5, 7, 9 }; // 以初始元素个数确定长度 int[] array3 = { 1, 2, 3, 4, 5, 6 }; // 以初始元素个数确定长度 // 多维数组 int[,] multiDimensionalArray1 = new int[2, 3]; // 使用new创建 int[,] multiDimensionalArray2 = { { 1, 2, 3 }, { 4, 5, 6 } }; // 以初始元素创建 // 一个二维数组,但是只创建了第一维 int[][] jaggedArray = new int[6][]; // 手动创建第二个维度 jaggedArray[0] = new int[4] { 1, 2, 3, 4 }; // 上面这种就是“交错数组”吧,因为第二个维度的长度不都是一样的 // 比如jaggedArray[0]和jaggedArray[1]的长度,都是独立的 // 获取长度,想想如果是多维数组获取的是哪一个维度的长度 int L = array1.Length; // 获取数组的维度 int R = multiDimensionalArray1.Rank; Console.WriteLine(L); Console.WriteLine(R); } } }