首页 > 解决方案 > 读取多条记录

问题描述

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

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

这是我当前的代码

标签: c#csvrecord

解决方案


如果要遍历所有记录,则应在方法 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);
        }
    }
}

推荐阅读