数组

来源:互联网 发布:淘宝卖家被冻结 编辑:程序博客网 时间:2024/06/11 23:01

数组具有以下属性:

  • 数组可以是一维、多维或交错的。

  • 当创建了数组实例时,将建立维度数和每个维度的长度。 在实例的生存期内,这些值不能更改。

  • 数值数组元素的默认值设置为零,而引用元素的默认值设置为 null。

  • 交错数组是数组的数组,因此其元素是引用类型并初始化为 null

  • 数组的索引从零开始:具有 n 个元素的数组的索引是从0n-1

  • 数组元素可以是任何类型,包括数组类型。

  • 数组类型是从抽象基类型 Array 派生的引用类型。由于此类型实现了 IEnumerableIEnumerable<T>,因此可以对 C# 中的所有数组使用foreach 迭代。

交错数组是元素为数组的数组。 交错数组元素的维度和大小可以不同。交错数组有时称为“数组的数组”。以下示例说明如何声明、初始化和访问交错数组。

必须初始化 jaggedArray 的元素后才可以使用它。 可以如下例所示初始化该元素:
jaggedArray[0] = new int[5];jaggedArray[1] = new int[4];jaggedArray[2] = new int[2];


jaggedArray[0] = new int[] { 1, 3, 5, 7, 9 };jaggedArray[1] = new int[] { 0, 2, 4, 6 };jaggedArray[2] = new int[] { 11, 22 };


    int[][] jaggedArray2 = new int[][] {    new int[] {1,3,5,7,9},    new int[] {0,2,4,6},    new int[] {11,22}};


可以使用下面的速记格式。 请注意:不能从元素初始化中省略new 运算符,因为不存在元素的默认初始化:

C#
    int[][] jaggedArray3 = {    new int[] {1,3,5,7,9},    new int[] {0,2,4,6},    new int[] {11,22}};

可以混合使用交错数组和多维数组。 下面声明和初始化一个一维交错数组,该数组包含大小不同的三个二维数组元素。有关二维数组的详细信息,请参阅多维数组(C# 编程指南)

C#
int[][,] jaggedArray4 = new int[3][,] {    new int[,] { {1,3}, {5,7} },    new int[,] { {0,2}, {4,6}, {8,10} },    new int[,] { {11,22}, {99,88}, {0,9} } }; int[] arry1 = new int[5];            int[] arry2 = new int[] { 1,3,5,7,9};            int[] arry3 = { 1,2,3};            int[,] arry = new int[2,3];            int[,] array4 = {{1,2,3},{4,5,6} };           // int[][] arry5 = { { 1, 2, 3 }, { 4, 5, 6 } }; 报错            int[][] ja = new int[6][];            //int[,] ja = new int[3,5];            int[][] i ={new int[3]{2,32,3},new int[4]{4,3,2,3}};            int[,] n = new int[,] {{1,2},{3,4},{5,6} };            Console.WriteLine(array4.Length +"" + array4.Rank);//数组长度加维度            //数组初始化            int[,] arrayd = new int[,]{{1,2},{3,4},{5,6},{5,6}};//4行2列            int[,] array2da = new int[4, 2] { { 1, 2 }, { 3, 4 }, { 5, 6 }, { 5, 6 } };//4行2列            string[,] array2db = new string[3, 2] {{"ad","ffd"},{"ddas","fsfa"},{"fad","dasf"} };            // Three-dimensional array.            int[, ,] array3D = new int[,,] { { { 1, 2, 3 }, { 4, 5, 6 } },                                  { { 7, 8, 9 }, { 10, 11, 12 } } };            // The same array with dimensions specified.            int[, ,] array3Da = new int[2, 2, 3] { { { 1, 2, 3 }, { 4, 5, 6 } },                                        { { 7, 8, 9 }, { 10, 11, 12 } } };            //交错数组            int[][] jaggedArray = new int[3][];             

0 0