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

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). Как это сделать? Выносить названия папок в список и из списка дёргать случайное значение так себе вариант. Хотелось бы, чтобы шаблон мог работать с актуальным списком папок.
 

qzen4i

Client
Регистрация
01.05.2014
Сообщения
1 408
Благодарностей
313
Баллы
83
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

Radzhab

Client
Регистрация
23.05.2014
Сообщения
1 500
Благодарностей
1 264
Баллы
113
В папке 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

nonc

Client
Регистрация
15.03.2016
Сообщения
34
Благодарностей
6
Баллы
8
Из ваших вариантов собрал то, что мне надо. Спасибо!
 
  • Спасибо
Реакции: Radzhab

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