Я пытаюсь написать программу поиска в C#, которая будет искать строку в большом текстовом файле (5 ГБ). Я сделал простой код, показанный ниже, но результаты поиска занимают много времени и могут занять около 30 минут. Вот так выглядит мой код:
public List<string> Search(string searchKey)
{
List<string> results = new List<string>();
StreamReader fileReader = new StreamReader("D:\Logs.txt");
while ((line = fileReader.ReadLine()) != null)
{
if (line.Contains(searchKey)
{
results.Add(line);
}
}
}
Хотя код работает, он работает очень медленно и занимает около 30 минут. Можем ли мы что-то сделать, чтобы время поиска было меньше минуты?