我怎样才能声明一个二维string数组?

string[][] Tablero = new string[3][3]; 

我需要有一个3x3arrays安排来保存信息。 我如何在C#中声明这个?

 string[,] Tablero = new string[3,3]; 

你也可以使用数组初始值设定语法在同一行中初始化它,如下所示:

 string[,] Tablero = new string[3, 3] {{"a","b","c"}, {"d","e","f"}, {"g","h","i"} }; 

你可能想要这个:

 string[,] Tablero = new string[3,3]; 

这将创build一个类似matrix的数组,其中所有行都具有相同的长度。

你的例子中的数组是一个所谓的参差不齐的数组 ,也就是一个数组的数组,其中的元素可以是不同的大小。 锯齿状的数组必须以不同的方式创build:

 string[][] Tablero = new string[3][]; for (int i = 0; i < Tablero.GetLength(0); i++) { Tablero[i] = new string[3]; } 

您也可以使用初始化程序来用数据填充数组元素:

 string[,] Tablero = new string[,] { {"1.1","1.2", "1.3"}, {"2.1","2.2", "2.3"}, {"3.1", "3.2", "3.3"} }; 

而且在锯齿arrays的情况下:

 string[][] Tablero = new string[][] { new string[] {"1.1","1.2", "1.3"}, new string[] {"2.1","2.2", "2.3"}, new string[] {"3.1", "3.2", "3.3"} }; 

我假设你正在寻找这个:

  string[,] Tablero = new string[3,3]; 

锯齿arrays的语法是:

  string[][] Tablero = new string[3][]; for (int ix = 0; ix < 3; ++ix) { Tablero[ix] = new string[3]; } 

你刚刚宣布一个锯齿状的数组。 这种types的arrays可以在所有尺寸上具有不同的尺寸。 例如:

 string[][] jaggedStrings = { new string[] {"x","y","z"}, new string[] {"x","y"}, new string[] {"x"} }; 

在你的情况下,你需要常规数组。 见上面的答案。 更多关于参差不齐的数组

尝试这个 :

 string[,] myArray = new string[3,3]; 

看看http://msdn.microsoft.com/en-us/library/2yd9wwz4.aspx

在C#中有两种multidimensional array,称为MultidimensionalJagged

对于多维你可以通过:

  string [,] multi = new string [3,3]; 

对于参差不齐的数组,你必须写更多的代码:

 string[][] jagged = new string[3][]; for (int i = 0; i < jagged.Length; i++) { jagged[i] = new string[3]; } 

简而言之,参差不齐的数组速度更快,语法更直观。 欲了解更多信息,请参阅: 这个Stackoverflow的问题

string[][] 不是一个二维数组,它是一个数组(一个参差不齐的数组 )的数组 。 这是不同的。

要声明一个二维数组,请使用以下语法:

 string[,] tablero = new string[3, 3]; 

如果你真的想要一个锯齿状的数组 ,你需要像这样初始化它:

 string[][] tablero = new string[][] { new string[3], new string[3], new string[3] }; 
 string[,] Tablero = new string[3,3]; 

一个3×3(多维)数组也可以初始化(你已经声明了)如下:

 string[,] Tablero = { { "a", "b", "c" }, { "d", "e", "f" }, { "g", "h", "i"} }; 

当你试图创build一个multidimensional array时,你需要做的就是向这个声明添加一个逗号,如下所示:

 string[,] tablero = new string[3,3]. 

这里有很多用C#处理数组的例子。

我希望这有帮助。

谢谢你,达米安

你也可以写下面的代码。

 Array lbl_array = Array.CreateInstance(typeof(string), i, j); 

其中“i”是行数,“j”是列数。 使用'typeof(..)'方法,你可以select你的数组types,例如int,string,double