Как получить доступ к каталогам с помощью Pattern (NUMBER.NAME) только по номеру - PullRequest
0 голосов
/ 25 апреля 2019

У меня есть каталоги, например, с этим шаблоном:

  • 0001.MyFolder

  • 0002.MyFolder2

  • 0003.MyFolder3

Входные данные - это только номер каталога (например, введите 0002 -> затем получить элементы в MyFolder 3)

и как вернуть путьсправочник по его номеру?пример: введите 0002 return C: \ MyPath \ 0002.MyFolder2

Шаблон

Номер (точка) Строка

Поэтому мне нужен доступ к любому каталогу по номеру до точки.

1 Ответ

3 голосов
/ 25 апреля 2019

Лучший способ что-то выяснить - начать поискать в Google и читать документацию

GetDirectories (String, String)

Возвращает имена подкаталогов (включая их пути), которые соответствуют указанный шаблон поиска в указанном каталоге.


searchPattern может быть комбинацией буквального и группового символов символы, но он не поддерживает регулярные выражения. Следующие Спецификаторы подстановочных знаков разрешены в searchPattern.

Подстановочные знаки совпадают.

  • * (звездочка) Ноль или более символов в этой позиции.
  • ? (знак вопроса) Ноль или один символ в этой позиции.

Итак, вот небольшой метод, который может помочь вам

  public string GetFolder(string index, string path)
     => Directory.GetDirectories(path, $"{index}.*")
                 .FirstOrDefault();

Использование

var dir = GetFolder("0001", @"C:\MyHomeWorkFolder");

if(dir != null)
   // we have found something
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...