В настоящее время я использую такую конструкцию кода:
string line;
using (System.IO.StreamReader file = new System.IO.StreamReader("somelargefile.txt"))
{
while ((line = file.ReadLine()) != null)
// do something
}
Я использую это для чтения в очень большом текстовом файле.(Мне нужно оценивать построчно, а некоторые строки нужно хранить в памяти).Мне кажется странным, что этот фрагмент кода не приводит к снижению производительности.Я предполагал, что каждый вызов ReadLine
приведет к доступу к диску, что сделает мою программу чрезвычайно медленной для файлов размером в несколько сотен мегабайт.Но на самом деле это довольно быстро.Почему это так?
Нет ли связи между ReadLine и доступом к физическому диску?