Eric Quan Ответов: 2

Как прочитать определенную строку в текстовом файле и сравнить ее со строкой?


Например, у меня есть строка "тост", и я хочу посмотреть, содержит ли 4-я строка текстового файла "тост". Как бы я это осуществил?


Счетчик - это номер строки, который я пытаюсь прочитать

Что я уже пробовал:

using (StreamReader File = new StreamReader(path))
{
    for (int i = 1; i < counter; i++)
    {
        File.ReadLine();
    }

    if (string.Compare("Toast", File))
    {
        Console.WriteLine("Same");
    }

}

2 Ответов

Рейтинг:
2

MadMyche

То, что вы сейчас делаете, - это читаете все строки в файле, а затем сравниваете свою строку с файл который является целым объектом filestream.
Еще одна проблема, с которой вы можете столкнуться, - это отсутствие счетчик ценность; убедитесь, что у вас есть это. И если он больше, чем количество строк в файле, вы получите исключение.

Я думаю, что вы хотите сделать это сравнение внутри цикл чтения, и убедитесь, что вы не достигли конца файла.
Что-то вроде этого должно помочь вам начать

using (StreamReader sr = new StreamReader(path)) {
    while(!sr.EndOfStream) {
        if (string.Compare("Toast", sr.ReadLine())) {
            Console.WriteLine("Same");
        }
    }
}
Теперь вы можете бросить туда счетчик, если хотите, и интегрировать его на каждом проходе, чтобы вы знали, какая линия (если таковая имеется) соответствует.


Рейтинг:
0

Ashutosh Gpt

using (StreamReader file = new StreamReader(textFile))
{
    int counter = 0;
    string ln;

    while ((ln = file.ReadLine()) != null)
    {
        if (string.Equals("Toast", ln, StringComparison.OrdinalIgnoreCase))
        {
            Console.WriteLine("toast found");
            break;
        }

        counter++;
    }

    Console.WriteLine($"Toast was found in line no {counter}.");
}