Лично мне не нравится идея жёстко привязываться к номерам строк и ожидать, что после строки с определённым содержимым будут идти строки с нужными даннми.
Мне кажется, вы не совсем правильно подходите к вопросу.
Что это за формат файла? Может его вообще надо парсить иначе?
Если это вы сами придумали так обмениваться данными, то стоит посмотреть в сторону более структурированных форматов, типа JSON, YAML и XML.
Если всё-же надо именно по строкам читать, то имеется:
File.ReadAllLines и
StreamReader.ReadLine
В среднем это должно выглядеть примерно так:
var lines = EnumerateLines(stream); // Некоторый наш метод, который превращает стрим в поток строк
var expectedLine = $"Накладная: {docNum}";
var dataLines = lines.SkipWhile(line => !line.Contains(expectedLine));
var data = ParseLines(dataLines); // Некоторый наш метод, который парсит данные
PS: Называйте переменные нормально, а не
counter1n
и давайте весь код, а то по вашему примеру не ясно, где вообще эта переменная объявлена и как она используется.