var folders = GetLeafFolders(DirFolder);
Console.WriteLine(folders[random.Next(folders.Count)]);
List<string> GetLeafFolders(string topFolder)
{
var result = new List<string>();
var subFolders = Directory.GetDirectories(topFolder);
if (subFolders.Length == 0)
{
result.Add(topFolder);
return result;
}
foreach (var folder in subFolders)
{
result.AddRange(GetLeafFolders(folder));
}
return result;
}