www.baike369.com
百科369 > C#教程 > C#数组初始化

C#数组初始化


C#数组初始化

C#的数组初始化是在声明数组时将初始值放在大括号({})之内。如果没有指定初始值,则数组成员将自动初始化为该数组类型的默认初始值。如果将数组声明为某类型的字段,则当实例化该类型时它将被设置为默认值null。


C#一维数组的初始化

1. 在声明数组时将其初始化。如:

int[] array = new int[6]{1,2,3,4,5,6};
string[] stringArray = new string[3]{"string1", "string2", "string3"};

2. 可以省略数组的大小。如:

int[] array = new int[]{1,2,3,4,5,6};
string[] stringArray = new string[]{"string1", "string2", "string3"};

3. 如果提供了初始值设定项,还可以省略new运算符。如:

int[] array = {1,2,3,4,5,6};
string[] stringArray = {"string1", "string2", "string3"};

4. 声明一个数组变量但不将其初始化,等到将数组分配给此变量时必须使用new运算符。如:

int[] array;
array = new int[]{1,2,3,4,5};
string[] stringArray;
stringArray = new string[]{"string1", "string2", "string3"};

C#多维数组的初始化

1. 声明数组时将其初始化。如:

int[,] array2D = new int[,]{{1,2},{3,4},{5,6}};     // 二维数组
int[,,] array3D = new int[,,]{{{1,2,3}},{{4,5,6}}}; // 三维数组

对于二维数组array2D来说,这是一个3行2列的二维数组。3行分别是{1,2}、{3,4}和{5,6}这三行,每一行都用大括号{}括起来,第1行{1,2}用0表示,第2行{3,4}用1表示,第3行{5,6}用2表示。

每一行大括号内表示的是列,对于array2D来说,每一行都是2列,用0、1表示。那么这个数组就是3行2列。

那么array2D的第3行2列的元素就是array2D[2][1]=6。

二维数组就是一个二维的矩阵,只有x,y两个维度,好像一个平面,用strArr[x,y]可以定位到矩阵中的任何一个元素。遍历二维的矩阵一般需要两层循环。

在这里,再举几个三维数组的例子:

int[,,] array3D = new int[,,]{
                                 {{1,2,3,4},{5,6,7,8},{9,10,11,12}},
                                 {{13,14,15,16},{17,18,19,20},{21,22,23,24}}
                             };

相当于int[2,3,4]。

  • 第一维是4:指的是最里层大括号({})内的4个元素。分别是1,2,3,4或者5,,6,7,8。
  • 第二维是3:指的是第二层内三个大括号部分。分别是{1,2,3,4}、{5,6,7,8}和{9,10,11,12}部分。
  • 第三维是2:指的是第一层内两个大括号部分。分别是{{1,2,3,4},{5,6,7,8},{9,10,11,12}}和{{13,14,15,16},{17,18,19,20},{21,22,23,24}}。
int[,,] array3D = new int[,,]{{{1,2,3}},{{4,5,6}},{{7,8,9}}};

相当于int[3,1,3]。

int[,,] array3D = new int[,,]{{{1},{2},{3}},{{4},{5},{6}},{{7},{8},{9}}};

相当于int[3,3,1]。

int[,,] array3D = new int[,,]{{{1,2,3},{4,5,6},{7,8,9}}};

相当于int[1,3,3]。


Copyright© 2011-2016 www.baike369.com All Rights Reserved