Прочитать на английском

Поделиться через


Path.GetPathRoot Метод

Определение

Перегрузки

GetPathRoot(String)

Получает сведения о корневом каталоге из пути, содержащегося в указанной строке.

GetPathRoot(ReadOnlySpan<Char>)

Получает сведения о корневом каталоге из пути, содержащегося в указанном диапазоне символов.

GetPathRoot(String)

Исходный код:
Path.Unix.cs
Исходный код:
Path.Unix.cs
Исходный код:
Path.Unix.cs

Получает сведения о корневом каталоге из пути, содержащегося в указанной строке.

public static string GetPathRoot (string path);
public static string? GetPathRoot (string? path);

Параметры

path
String

Строка, содержащая путь, из которого нужно получить сведения о корневом каталоге.

Возвращаемое значение

Корневой каталог path, если он является корневым.

-или-

Empty, если path не содержит сведения о корневом каталоге.

-или-

null, если path имеет значение null или является фактически пустым.

Исключения

платформа .NET Framework и .NET Core версий старше 2.1: path содержит один или несколько недопустимых символов, определенных в GetInvalidPathChars().

-или-

Только для .NET Framework: Empty передается path.

Примеры

В следующем примере показано использование GetPathRoot метода .

string path = @"\mydir\";
string fileName = "myfile.ext";
string fullPath = @"C:\mydir\myfile.ext";
string pathRoot;

pathRoot = Path.GetPathRoot(path);
Console.WriteLine("GetPathRoot('{0}') returns '{1}'",
    path, pathRoot);

pathRoot = Path.GetPathRoot(fileName);
Console.WriteLine("GetPathRoot('{0}') returns '{1}'",
    fileName, pathRoot);

pathRoot = Path.GetPathRoot(fullPath);
Console.WriteLine("GetPathRoot('{0}') returns '{1}'",
    fullPath, pathRoot);

// This code produces output similar to the following:
//
// GetPathRoot('\mydir\') returns '\'
// GetPathRoot('myfile.ext') returns ''
// GetPathRoot('C:\mydir\myfile.ext') returns 'C:\'

Комментарии

Этот метод не проверяет, существует ли путь или файл.

Этот метод нормализует разделители каталогов.

Строка является "эффективно пустой", если:

  • В Windows вызов IsEmpty этой строки возвращает true, или все ее символы являются пробелами (' ').
  • В Unix вызов IsNullOrEmpty для этой строки возвращает true.

Ниже приведены возможные шаблоны для строки, возвращаемой этим методом.

  • null (path имеет значение NULL или пустую строку).

  • Пустая строка (path указывает относительный путь на текущем диске или томе).

  • "/" (Unix: path указан абсолютный путь на текущем диске).

  • "X:" (Windows: path указывает относительный путь к диску, где X представляет диск или букву тома).

  • "X:\" (Windows: path указан абсолютный путь на заданном диске).

  • "\\ComputerName\SharedFolder" (Windows: UNC-путь).

  • "\?\C:" (Windows: путь к устройству DOS, поддерживается в .NET Core 1.1 и более поздних версиях, а также в платформа .NET Framework 4.6.2 и более поздних версиях).

Дополнительные сведения о путях к файлам в Windows см. в разделе Форматы путей к файлам в системах Windows. Список распространенных задач ввода-вывода см. в разделе Общие задачи ввода-вывода.

См. также раздел

Применяется к

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

GetPathRoot(ReadOnlySpan<Char>)

Исходный код:
Path.Unix.cs
Исходный код:
Path.Unix.cs
Исходный код:
Path.Unix.cs

Получает сведения о корневом каталоге из пути, содержащегося в указанном диапазоне символов.

public static ReadOnlySpan<char> GetPathRoot (ReadOnlySpan<char> path);

Параметры

path
ReadOnlySpan<Char>

Доступная только для чтения область символов, содержащая путь, из которого нужно получить сведения о корневом каталоге.

Возвращаемое значение

Диапазон символов только для чтения, содержащий корневой каталог path.

Комментарии

Этот метод не проверяет, существует ли путь или файл.

В отличие от строковой перегрузки, этот метод не нормализует разделители каталогов.

Объект ReadOnlySpan<System.Char> является "фактически пустым", если:

  • В Windows вызов ReadOnlySpan<T>.IsEmpty для этого диапазона символов возвращает trueили все его символы являются пробелами (' ').
  • В Unix вызов ReadOnlySpan<T>.IsEmpty для этого диапазона символов возвращает .true

Ниже приведены возможные шаблоны для диапазона символов только для чтения, возвращаемого этим методом.

  • ReadOnlySpan<T>.Empty (path был ReadOnlySpan<T>.Empty.

  • ReadOnlySpan<T>.Empty (path указывает относительный путь на текущем диске или томе).

  • "/" (Unix: path указан абсолютный путь на текущем диске).

  • "X:" (Windows: path указывает относительный путь к диску, где X представляет диск или букву тома).

  • "X:\" (Windows: path указан абсолютный путь на заданном диске).

  • "\\ComputerName\SharedFolder" (Windows: UNC-путь).

  • "\?\C:" (Windows: путь к устройству DOS, поддерживается в .NET Core 1.1 и более поздних версиях, а также в платформа .NET Framework 4.6.2 и более поздних версиях).

Дополнительные сведения о путях к файлам в Windows см. в разделе Форматы путей к файлам в системах Windows. Список распространенных задач ввода-вывода см. в разделе Общие задачи ввода-вывода.

См. также раздел

Применяется к

.NET 9 и другие версии
Продукт Версии
.NET Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Standard 2.1