Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为二维数组赋值_C# - Fatal编程技术网

C# 为二维数组赋值

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

我需要为2D数组赋值,但找不到正确的语法。 我试过了,但没有错:

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。见下面的评论。谢谢