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

本文关键字:数组 字符串 获取 锯齿状 | 更新日期: 2023-09-27 18:01:00

我有一个锯齿状数组,其中包含其他1d字符串数组:

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));
}

输出:

一个,两个

三、四

应该是:

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

我将您的代码粘贴到本地环境中,可以很好地进行迭代。

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

无法将类型"char"转换为"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
        }
    }
}