строка из файла

comitatus

Client
Регистрация
01.09.2012
Сообщения
26
Благодарностей
7
Баллы
3
необходимо прочитать строку из файла. файл объемный и грузить его списком в память не вариант
пробовал следующим образом
C#:
var fileName = @"C:\text.txt";
var file = File.ReadLines(fileName).ToList();
int count = file.Count();
Random rnd = new Random();
int skip = rnd.Next(0, count);
string line = file.Skip(skip).First();
return line;
по идее должен прочитать только одну строку, не загружая весь файл в память. а по факту потребления памяти, похоже один черт грузит его весь в память.
пробовал убирать подсчет кол-ва строк в файле и задавать наявно. аналогичная фигня.

как снизить потребление памяти?
 
Последнее редактирование модератором:

darkdiver

Administrator
Команда форума
Регистрация
13.01.2009
Сообщения
2 285
Благодарностей
2 730
Баллы
113
ToList() уберите
Правильный вариант
C#:
var file = File.ReadLines(path);
int count = file.Count();
Random rnd = new Random();
int skip = rnd.Next(0, count);
string line = file.Skip(skip).First();
return line;
 
  • Спасибо
Реакции: comitatus и rostonix

comitatus

Client
Регистрация
01.09.2012
Сообщения
26
Благодарностей
7
Баллы
3
забыл отписаться что разобрался ) все одно спасибо )
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)