C# 从交错数组中获取字符串数组

C# 从交错数组中获取字符串数组,c#,arrays,jagged-arrays,C#,Arrays,Jagged Arrays,我有一个锯齿状数组,其中包含其他1d字符串数组: string[] first = {"one","two"}; string[] second = {"three","four"}; string[][] jagged = {first,second}; 当我尝试获取子数组时,它们会给出一个空值(我可能做错了什么): 我是在数组初始化过程中出错了,还是必须以某种方式转换子数组?只是foreach部分出错了。 我对其进行了如下测试: string[] first = { "one", "two

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

string[] first = {"one","two"};
string[] second = {"three","four"};
string[][] jagged = {first,second};
当我尝试获取子数组时,它们会给出一个空值(我可能做错了什么):


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

只是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”

而是在循环中使用锯齿状的

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

什么特定代码导致什么特定错误?(是的,你可能做错了什么,但是如果你不展示你在做什么,我们怎么知道呢?)只是出于好奇:当.NET有这么多更好、更容易使用的东西集合选项时,你为什么要使用这样的数组?它是一种功能齐全的面向对象编程语言,而不是脚本语言。好好利用这一点,这能编译吗
foreach(锯齿状[]][]中的字符串[]arr)
看起来不是有效的语法。您可以发布为null的内容吗?因为这不会编译-
。。。在锯齿状[][]..
中,可以肯定的是,锯齿状[][]
中的
无效
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
        }
    }
}