我有点初学者,这是我使用c#的第一个任务。
我想编写一个读取记录的代码,如果记录与搜索词匹配,它将在屏幕上打印记录。但是,我希望它浏览所有记录,然后打印所有具有匹配搜索词的内容。目前,它仅打印第一个匹配的记录,我希望它打印所有具有匹配搜索词的记录。如何修改代码来做到这一点?我认为它只需要简单的修改,但我似乎无法弄清楚。
答案 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
退出该函数并阻止其找到多个匹配项。