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

时间:2016-08-05 19:38:37

标签: c# arrays jagged-arrays

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

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

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

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

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

3 个答案:

答案 0 :(得分:0)

只是foreach部分是错误的。 我测试了它如下:

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

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

输出:

  

一,二

     

三,四

答案 1 :(得分:0)

应该是:

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

我将您的代码粘贴到我的本地环境中,并且可以正常迭代。

答案 2 :(得分:0)

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

  

无法转换类型' char'到'字符串'。

而是在循环中使用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
        }
    }
}