Я хочу прочитать .txt-файл в C#, но я не буду читать все строки одновременно. Например, рассмотрите 500 строк текстового файла. Я хочу, чтобы функция выполнялась 25 раз и каждый раз читала 20 последовательных строк. При первом вызове функции будут прочитаны строки от 1 до 20, а во второй раз это будет прочитано.C# Чтение потока
Ниже простой код делает это в C++, но я не знаю, как добиться этого в C#:
string readLines(ifstream& i)
{
string totalLine="", line = "";
for(int i = 0; i < 20; i++){
getline(i, line);
totalLine += line;
}
return totalLine;
}
int main()
{
// ...
ifstream in;
in.open(filename.c_str());
while(true){
string next20 = readLines(in);
// so something with 20 lines.
}
// ...
}
[Как читать текст из файла:] (http://msdn.microsoft.com/en-us/library/db5x7c0d.aspx) –
Код, указанный в C++, не работает в все - это просто петли, читающие * все * линии. Это легко сделать и на C# ... foreach (строка строки в File.ReadLines (...)) '. В C# не слишком плохое дозирование ... –
Это просто быстрый пример. Что я имел в виду, так это то, что если вы вставляете оператор while в функцию и даже если вы преждевременно прекратите чтение файла, он будет продолжен там, где он был остановлен. –