Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在C语言中遍历由数组填充的列表# 公共列表解析CSV(字符串路径) { List parsedData=新列表(); 尝试 { 使用(StreamReader readFile=新StreamReader(路径)) { 弦线; 字符串[]行; 而((line=readFile.ReadLine())!=null) { 行=行。拆分(','); parsedData.Add(行); } } } 捕获(例外e) { MessageBox.Show(e.Message); } 返回数据; }_C# - Fatal编程技术网

C# 在C语言中遍历由数组填充的列表# 公共列表解析CSV(字符串路径) { List parsedData=新列表(); 尝试 { 使用(StreamReader readFile=新StreamReader(路径)) { 弦线; 字符串[]行; 而((line=readFile.ReadLine())!=null) { 行=行。拆分(','); parsedData.Add(行); } } } 捕获(例外e) { MessageBox.Show(e.Message); } 返回数据; }

C# 在C语言中遍历由数组填充的列表# 公共列表解析CSV(字符串路径) { List parsedData=新列表(); 尝试 { 使用(StreamReader readFile=新StreamReader(路径)) { 弦线; 字符串[]行; 而((line=readFile.ReadLine())!=null) { 行=行。拆分(','); parsedData.Add(行); } } } 捕获(例外e) { MessageBox.Show(e.Message); } 返回数据; },c#,C#,我想用这段代码来解析CSV,这将返回一个充满数组的列表。我的问题是,如果列表中的数组大小未知,如何遍历它们 例如: public List<string[]> parseCSV(string path) { List<string[]> parsedData = new List<string[]>(); try { using (StreamReader rea

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

例如:

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

for(int a=0;a如果您只想写出每个值,可以使用LINQ将其展平:

for (int a=0; a<=CSVList(firstindex).Length;a++)
         for (int a=0; a<=CSVList(secondindex).Length;a++)
否则,可以在两个循环中执行此操作:

var results = parseCSV(path);

foreach(var str in results.SelectMany(i => i))
{
    Console.WriteLine(str);
}
var results=parseCSV(路径);
foreach(结果中的var arr)
{
对于(inti=0;i如果它只是一个
列表
值,那么最简单的语法是嵌套foreach循环

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

您最好使用
foreach
循环,而不是传统的
for
循环

使用
foreach
编写迭代:

foreach (var arrayElement in CSVList) {
  foreach (var current in arrayElement) {
    ...
  }
}

使用
foreach
只需说“迭代所有元素”,您不必担心有多少个元素。

每个数组都有一个大小,因为.NET中的所有数组都继承自
System.array
。只需根据列表索引引用数组,然后您就可以简单地迭代到
MyArrayFinterest.count-1

对,我的问题更多的是c的语法和迭代h数组列表
foreach(string[] array in parsedData) {
    foreach(string element in array) {
        Console.WriteLine(element);
    }
}