@Host111

Как записать названия папок в массив?

Есть ли способ записать названия папок в массив. GetDirectories записывает вместе с путями к папкам. Есть ли способ записать без них?
  • Вопрос задан
  • 204 просмотра
Решения вопроса 3
@mvv-rus
Настоящий админ AD и ненастоящий программист
Есть: применить к каждому возвращенному имени папки функцию (статический метод) Path.GetRelativePath и записать результаты в новый массив. Короче всего это записать через LINQ, примерно так:
String[] rel_folder_names = Directory.GetDirectories(RootFolder).Select(s=>Path.GetRelativePath(RootFolder,s)).ToArray();

Но если пока не умеете или боитесь использовать LINQ, то можно это сделать в обычном цикле
String[] full_folder_names=Directory.GetDirectories(RootFolder);
String[] rel_folder_names = new String[](full_folder_names.Length);
for(int i=0;i<full_folder_names.Length;i++) {
     rel_folder_names[i]=Path.GetRelativePath(RootFolder,full_folder_names[i]);
}

Как-то так.

PS Весь код написан "из головы", так что ошибки могут быть.
Ответ написан
VoidVolker
@VoidVolker Куратор тега C#
Dark side eye. А у нас печеньки! А у вас?
Конечно: достаточно просто в цикле пройтись по списку каталогов и сохранить отдельно в нужный массив названия каталогов.
Ответ написан
Комментировать
@calculator212
GetDirectories записывает вместе с путями к папкам. Есть ли способ записать без них?
Пройтись по массиву, извлечь имя для каждой папки, записать имя в другой массив
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы