从锯齿状数组中获取字符串数组

Get an array of string from a jagged array

我有一个包含其他一维字符串数组的锯齿状数组:

string[] first = {"one","two"};
string[] second = {"three","four"};
string[][] jagged = {first,second};

当我尝试获取子数组时,它们给出了一个空值(我可能做错了什么):

foreach (string[] arr in jagged[][]) {
    // My stuff here
}

是我在数组初始化过程中做错了什么,还是必须以某种方式转换子数组?

只是foreach部分是错误的。 我已经测试如下:

string[] first = { "one", "two" };
string[] second = {"three","four"};
string[][] jagged = {first,second};

foreach (string[] arr in jagged)
{
    Console.WriteLine(string.Join(",", arr));
}

输出:

one, two

three, four

应该是:

foreach (string[] arr in jagged)
{
    // My stuff here
}

我将你的代码粘贴到我的本地环境中,并且可以很好地迭代。

如果您在循环中使用 jagged[][],那么您可能会收到类型转换失败的消息:

Cannot convert type 'char' to 'string'.

而是在循环中使用 jagged

public class Program
{
    public static void Main()
    {
        string[] first = {"one","two"};
        string[] second = {"three","four"};
        string[][] jagged = {first,second}; 

        foreach (string[] arr in jagged)
        {
            //Your code
        }
    }
}