遍历一个用 C# 中的数组填充的 List

0 c#

        public List<string[]> parseCSV(string path)
    {
        List<string[]> parsedData = new List<string[]>();

        try
        {
            using (StreamReader readFile = new StreamReader(path))
            {
                string line;
                string[] row;
                while ((line = readFile.ReadLine()) != null)
                {
                    row = line.Split(',');
                    parsedData.Add(row);
                }
            }
        }
        catch (Exception e)
        {
            MessageBox.Show(e.Message);
        }

        return parsedData;
    }
Run Code Online (Sandbox Code Playgroud)

我想使用此代码来解析 CSV,这将返回一个填充数组的列表。我的问题是,如果列表中的数组大小未知,我该如何遍历它们?

例如:

for (int a=0; a<=CSVList(firstindex).Length;a++)
         for (int a=0; a<=CSVList(secondindex).Length;a++)
Run Code Online (Sandbox Code Playgroud)

像这样的东西会读取 CSVList 的第一个索引,然后读取其中的第一个数组元素......我想我真的被语法困住了。

谢谢

Ree*_*sey 5

如果您只想写出每个值,您可以使用 LINQ 将其展平:

var results = parseCSV(path);

foreach(var str in results.SelectMany(i => i))
{
    Console.WriteLine(str);
}
Run Code Online (Sandbox Code Playgroud)

否则,您可以在两个循环中执行此操作:

var results = parseCSV(path);
foreach(var arr in results)
{
    for (int i=0;i<arr.Length;++i) // Loop through array
    {
        string value = arr[i]; // This is the array element...
    }
}
Run Code Online (Sandbox Code Playgroud)