读取多条记录

时间:2019-09-23 06:28:18

标签: c# csv record

我有点初学者,这是我使用c#的第一个任务。

我想编写一个读取记录的代码,如果记录与搜索词匹配,它将在屏幕上打印记录。但是,我希望它浏览所有记录,然后打印所有具有匹配搜索词的内容。目前,它仅打印第一个匹配的记录,我希望它打印所有具有匹配搜索词的记录。如何修改代码来做到这一点?我认为它只需要简单的修改,但我似乎无法弄清楚。

This is my current code

2 个答案:

答案 0 :(得分:0)

如果要遍历所有记录,则应在方法RecordMatches中遍历所有字段,因为将数组传递给该方法,请使用for或foreach循环和内部循环检查是否匹配,并在每个匹配项上打印字段(记录)的值。

string[] lines = System.IO.File.ReadAllLines(@filePath);
for(int i = 0; i < lines.Length; i++)
{
    string[] fields = lines[i].Split(',');
    RecordMatches(searchTerm, fields);
}


public static void RecordMatches(string searchTerm, string records[])
{
    foreach(string record in records)
    {
        if(record.Trim().Equals(searchTerm.Trim()))
        {
            Console.WriteLine(record);
        }
    }
}

答案 1 :(得分:0)

您的代码存在问题

return fields;

记录匹配时。 return退出该函数并阻止其找到多个匹配项。