将值分配给2D数组

时间:2016-03-16 11:14:35

标签: c#

我需要为2D数组赋值,但是我找不到合适的语法。 我试过这个但是错了:

string[][] s2d = new string[][] {
  {"val1","val2"},
  {"val1bis","val2bis"}
};

由于

4 个答案:

答案 0 :(得分:8)

你几乎就在那里,只需更改convention并使用[,].[][]用于定义数组数组(Jagged数组)。

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];

答案 1 :(得分:2)

您使用的语法不正确:

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

来源:https://msdn.microsoft.com/it-it/library/2yd9wwz4.aspx

答案 2 :(得分:1)

如果你真的想要一个二维阵列

string[,] s2d = new string[2,2] { {"val1","val2"}, {"val1bis","val2bis"}};

string [] []为您提供锯齿状数组的可能性

答案 3 :(得分:0)

如果你真的想要数组数组,那么声明数组数组

perl -pe's/^(\d+)\s\S+\s\K(\d+)/$1.$2/' input.txt > output.txt