Различные среды, в которых может выполняться код C #, имеют разные соглашения / правила для того, как должны выглядеть пути к файлам и каталогам.
Типичным примером является символ, который разделяет уровни каталога.В Windows это \
, в Linux - /
, и все же другие (также будущие) системы могут следовать даже другим правилам.
Поэтому для создания надежного кода рекомендуется всегда использоватьPath.DirectorySeparatorChar
(или, конечно, используя вспомогательные методы, такие как Path.Combine
), а не жестко кодировать определенный символ-разделитель каталогов.
Теперь, наВ различных системах существует несколько «псевдо-каталогов», которые можно использовать в путях:
.
представляет текущий каталог ..
представляет родительский каталог, т.е.на один уровень выше текущего каталога
Хотя в Windows и Linux они совпадают, другие среды (в которых может быть реализован Mono) могут иметь здесь другой синтаксис.
Я не хочу жестко кодировать эти псевдо-каталоги.Как я могу получить их во время выполнения?