我怎样才能声明一个二维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"} };
在你的情况下,你需要常规数组。 见上面的答案。 更多关于参差不齐的数组
在C#中有两种multidimensional array,称为Multidimensional
和Jagged
。
对于多维你可以通过:
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