text file: Reading line by line C#

c#, string, text-files

Solution

In general, it would be better if you could design this in a way to leave your file open, and not try to reopen the file each time.

If that is not practical, you'll need to call `ReadLine` multiple times:

string CurrentLine; 
int LastLineNumber;   
void NextLine() 
{
    // using will make sure the file is closed
    using(System.IO.StreamReader file = new System.IO.StreamReader("c:\\test.txt"))
    {
        // Skip lines
        for (int i=0;i<LastLineNumber;++i)
            file.ReadLine();

        // Store your line
        CurrentLine = file.ReadLine();
        LastLineNumber++;
    }
}

Note that this can be simplified via `File.ReadLines`:

void NextLine() 
{
    var lines = File.ReadLines("C:\\test.txt");

    CurrentLine = lines.Skip(LastLineNumber).First();
    LastLineNumber++;
}

Problem

So, let's say i have a text file with 20 lines, with on each line different text. i want to be able to have a string that has the first line in it, but when i do NextLine(); i want it to be the next line. I tried this but it doesn't seem to work: ``` string CurrentLine; int LastLineNumber; Void NextLine() { System.IO.StreamReader file = new System.IO.StreamReader("c:\\test.txt"); CurrentLine = file.ReadLine(LastLineNumber + 1); LastLineNumber++; } ``` How would i be able to do this? Thanks in advance.

Original source