Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
723 of 1492 menu
◀ ▶

Метод GetDirectoryRoot

Directory.GetDirectoryRoot для полного пути возвращает корень тома: на Windows это буква диска с "\\", на Linux - "/". Конкретная строка зависит от ОС. Родителя пути даёт GetParent. Список томов - GetLogicalDrives.

Синтаксис

string root = Directory.GetDirectoryRoot(path);

Пример

Давайте возьмём корень для текущей папки и проверим, что он не пустой:

using System; using System.IO; class Program { static void Main() { string cwd = Directory.GetCurrentDirectory(); string root = Directory.GetDirectoryRoot(cwd); bool res = root.Length > 0; Console.WriteLine(res); } }

Результат выполнения кода:

True

Пример

Давайте проверим корень для пути к файлу в abcde:

using System; using System.IO; class Program { static void Main() { Directory.CreateDirectory("abcde"); File.WriteAllText("abcde/12345.txt", "12345"); string full = Directory.GetCurrentDirectory(); full = full + "/abcde/12345.txt"; string root = Directory.GetDirectoryRoot(full); bool res = !string.IsNullOrEmpty(root); Console.WriteLine(res); Directory.Delete("abcde", true); } }

Результат выполнения кода:

True

Пример

Давайте сравним корень текущего каталога с корнем вложенного пути - они совпадают на одном томе:

using System; using System.IO; class Program { static void Main() { Directory.CreateDirectory("abcde"); string cwd = Directory.GetCurrentDirectory(); string rootCwd = Directory.GetDirectoryRoot(cwd); string nested = cwd + "/abcde"; string rootNested = Directory.GetDirectoryRoot(nested); bool res = rootCwd == rootNested; Console.WriteLine(res); Directory.Delete("abcde"); } }

Результат выполнения кода:

True

Смотрите также

  • метод GetLogicalDrives,
    который перечисляет диски
  • метод GetParent,
    который даёт родительский каталог
  • метод GetCurrentDirectory,
    который возвращает рабочую папку
  • Directory,
    класс, где объявлен метод
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить