有人可以帮我将多个字符串数组分配到一个二维字符串数组中吗?

Can someone help me assign multiple string arrays into one 2d string array?

在 C# 中,有人可以帮我将多个字符串数组分配给一个二维字符串数组吗?

这是我的代码:

string[] test1 = new string[5] { "one", "two", "three", "four", "five" };
string[] test2 = new string[5] { "one", "two", "three", "four", "five" };
string[] test3 = new string[5] { "one", "two", "three", "four", "five" };
string[] test4 = new string[5] { "one", "two", "three", "four", "five" };

string[,] allTestStrings = new string [4, 5];
allTestStrings[0] = test1;
allTestStrings[1] = test2;
allTestStrings[2] = test3;
allTestStrings[3] = test4;

对于每个 2d 赋值,我都收到以下错误:

Wrong number of indices inside []; expected 2

上面的代码我做错了什么?

提前致谢。

您必须为二维数组指定两个索引,例如

allTestStrings[0, 0] = test1[0];
allTestStrings[0, 1] = test1[1];

您可以提取一个方法在循环中执行此操作:

for (var i = 0; i < test1.Length; i++)
{
    allTestStrings[0, i] = test1[i];
}

你可以这样初始化它:

string[,] arr = {
                    { "one", "two", "three", "four", "five" },
                    { "one", "two", "three", "four", "five" },
                    { "one", "two", "three", "four", "five" },
                };

MSDN: Multidimensional Arrays (C# Programming Guide)

你可以使用交错数组,像这样:

string[][] allTestStrings = new string[4][];
            allTestStrings[0] = test1;
            allTestStrings[1] = test2;
            allTestStrings[2] = test3;
            allTestStrings[3] = test4;