C# 为二维数组赋值
我需要为2D数组赋值,但找不到正确的语法。 我试过了,但没有错:C# 为二维数组赋值,c#,C#,我需要为2D数组赋值,但找不到正确的语法。 我试过了,但没有错: string[][] s2d = new string[][] { {"val1","val2"}, {"val1bis","val2bis"} }; 谢谢您使用的语法不正确: int[,] array2D = new int[,] { { 1, 2 }, { 3, 4 }, { 5, 6 }, { 7, 8 } }; 来源:您就快到了,只需更改用于定义交错数组数组的[,],[]即可 string[,] s2d = n
string[][] s2d = new string[][] {
{"val1","val2"},
{"val1bis","val2bis"}
};
谢谢您使用的语法不正确:
int[,] array2D = new int[,] { { 1, 2 }, { 3, 4 }, { 5, 6 }, { 7, 8 } };
来源:您就快到了,只需更改用于定义交错数组数组的[,],[]即可
string[,] s2d = new string[,] {
{"val1","val2"},
{"val1bis","val2bis"}
};
如果您想在多维数组上枚举,您可以这样做,但它是一个扁平数组
foreach(var s in s2d)
{
// logic
}
如果需要,只需以传统方式访问元素
for(int i=0;i < s2d.GetLength(0);i++)
for(int j=0;j < s2d .GetLength(1);j++)
var val = s2d [i,j];
如果你真的想要一个二维数组
string[,] s2d = new string[2,2] { {"val1","val2"}, {"val1bis","val2bis"}};
字符串[][]为您提供了一种锯齿状数组的可能性如果您确实需要数组数组,那么请声明数组数组
string[][] s2d = new string[][] {
new string[] {"val1","val2"},
new string[] {"val1bis","val2bis"}
};
我需要在sd2{}中的foreach:foreach字符串[]s中使用。字符串[,]无效。因此,您不需要2d数组,而是需要任意数量的交错数组。。这是一个很大的不同是的,有点。最后,我需要一种快速的方法来定义一组值,对这些值执行一些操作:我需要在XML中创建一组节点,并使用s[0]=nodeName和s[1]=value。数组的数组是我在没有复制的情况下编写代码的最快的方法。这样,你可以在sd2中使用foreach字符串[2]s,这会给你s[0]和s[1],它不起作用。我发现在foreach中使用string[][]的解决方案是相同的:foreach string[]s在sd2{}中。字符串[,]无效。我的问题是下一个foreach。见下面的评论。谢谢