Как брать случайную строку из разных файлов, не создавая кучи списков?

  • Автор темы Автор темы toxass
  • Дата начала Дата начала

toxass

Client
Регистрация
18.03.2010
Сообщения
280
Реакции
12
Баллы
18
Есть N файлов в определенной папке, в каждом файле разное количество строк.

Необходимо случайным образом из каждого файла брать по 1 строке, при этом не создавая тучи списков, так как файлов может быть как 10 так и 300, а затем все случайные строки соединить в 1 текстовый файл.

Удалять и добавлять в файлы ничего не нужно.
 
В директиву using не забудь добавить using System.IO;
C#:
Развернуть Свернуть Копировать
List<string> result = new List<string>();
Random rnd= new Random();
var files = Directory.GetFiles("D:\\testDir"); // Получаем файлы из директории

for (int i = 0; i < files.Count(); i++)
{
    var data = File.ReadAllLines(files[i]); // считываем данные из текста
    result.Add(data[rnd.Next(0, data.Count())]); // добавляем рандомную строку в список
}
File.WriteAllLines("rezultat.txt", result);
 
  • Спасибо
Реакции: ks1989, one и toxass
Radzhab, а в переменную результат можно как-то вывести?
 
Вот еще вариант если не разбираешься в программировании
https://help.zennolab.com/ru/v3/zennoposter/ -> Макросы -> Файлы и директории -> Взять строку из файла
 

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