Вы можете попробовать запросить файл с помощью Linq :
using System.IO;
using System.Linq;
...
var modifiedLines = File
.ReadLines(@"c:\myInitialScript.txt") // read file line by line
.Select((line, number) => {
//TODO: relevant code here based on line and number
// Demo: return number and then line itself
return $"{number} : {line}";
})
// .ToArray() // uncomment if you want all (modified) lines as an array
;
Если вы хотите записать измененные строки в файл:
File.WriteAllLines(@"c:\MyModifiedScript.txt", modifiedLines);
Если вы настаиваете на StreamReader
, вы можете реализовать for
l oop:
using (StreamReader reader = new StreamReader("c:\myInitialScript.txt")) {
for ((string line, int number) record = (reader.ReadLine(), 0);
record.line != null;
record = (reader.ReadLine(), ++record.number)) {
//TODO: relevant code here
// record.line - line itself
// record.number - its number (zero based)
}
}