Streamreader Zeilen zwischen Start und Endwert auslesen


wetterfrosch123

Grünschnabel
Ich habe eine Datei mit über 14.000 Zeilen. Diese lese ich via Streamreader ein allerdings nur Zeilen welche mit bestimmten "Zeichenketten" anfangen. Soweit so gut.
Jetzt möchte ich die folgenden 4 Zeilen auch auslesen, aber wie am besten.
Start der ersrten Zeile
..... hier steht unterschiedlicher Text
..... hier auch
..... Ende der Zeile.

Hier mal mein derzeitiger Code:
C#:
while (!streamreader.EndOfStream)
            {
                
                string foo = streamreader.ReadLine();
                string[] bar = { "<name>", "<anrede>" };
                foo = foo.TrimStart();
                foreach (string item in bar)
                {
                    foo.en
                    if (foo.StartsWith(item))
                    {
                        listEinlesen.Add(foo);
                    }
                }
 

Endurion

Erfahrenes Mitglied
Einfach die Logik in kleine Häppchen aufteilen:

Definiere dir eine Zählvariable und ein bool. Wenn du einen gewünschten Zeilenstart findest, setze das bool auf true und die Zählvariable auf 0.
Für jede neu eingelesene Zeile prüfst du, ob das bool gesetzt ist. Wenn ja, Zeile in die Liste packen und Zählvariable hochsetzen. Ist die Zählvariable == 4, dann kannst du das bool wieder auf false setzen.