[SOLVED] Выбрать случайную папку

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

nonc

Client
Регистрация
15.03.2016
Сообщения
34
Реакции
6
Баллы
8
Здравствуйте. Дано такое дерево:

Код:
Развернуть Свернуть Копировать
/Dirs/A/XYZ
/Dirs/B/XYZ
/Dirs/C/XYZ
/Dirs/1/XYZ
/Dirs/2/XYZ
/Dirs/3/XYZ

Надо выбирать рандомную папку (A, B, C, 1, 2, 3). Как это сделать? Выносить названия папок в список и из списка дёргать случайное значение так себе вариант. Хотелось бы, чтобы шаблон мог работать с актуальным списком папок.
 
C#:
Развернуть Свернуть Копировать
var directory = project.Variables["Ваша переменная"].Value;
var searchsubirs = System.IO.SearchOption.AllDirectories; //искать в подкаталогих или нет
var dirlist = project.Lists["Папок"]; //зеновский список
dirlist.Clear(); //чистим его
System.IO.Directory.GetDirectories(directory, "*", searchsubirs).ToList().ForEach(dir=>dirlist.Add(dir)); //заполняем

А чем этот код не устраивает для получение папок?
 
  • Оценить
Реакции: nonc
В папке I:\\Dirs я создал данную иерархию. Есть 8 папок 1,2,3,4,A,B,C,D. В каждой папке по папке XYZ.


upload_2016-6-5_13-46-32.png

C#:
Развернуть Свернуть Копировать
var files = Directory.GetDirectories(@"I:\Dirs", "*.*", SearchOption.TopDirectoryOnly);
var res = files[new Random().Next(files.Length)];
return res; // в res случайная папка


Надеюсь правильно понял логику
 
  • Оценить
Реакции: nonc
Из ваших вариантов собрал то, что мне надо. Спасибо!
 
  • Оценить
Реакции: Radzhab

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