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


Path.GetPathRoot Метод

Определение

Перегрузки

GetPathRoot(String)

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

GetPathRoot(ReadOnlySpan<Char>)

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

GetPathRoot(String)

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

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

public:
 static System::String ^ GetPathRoot(System::String ^ path);
public static string GetPathRoot (string path);
public static string? GetPathRoot (string? path);
static member GetPathRoot : string -> string
Public Shared Function GetPathRoot (path As String) As String

Параметры

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:\'
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:\'
Dim pathname As String = "\mydir\"
Dim fileName As String = "myfile.ext"
Dim fullPath As String = "C:\mydir\myfile.ext"
Dim pathnameRoot As String

pathnameRoot = Path.GetPathRoot(pathname)
Console.WriteLine("GetPathRoot('{0}') returns '{1}'", pathname, pathnameRoot)

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

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

' 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. Список распространенных задач ввода-вывода см. в разделе Общие задачи ввода-вывода.

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

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

GetPathRoot(ReadOnlySpan<Char>)

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

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

public:
 static ReadOnlySpan<char> GetPathRoot(ReadOnlySpan<char> path);
public static ReadOnlySpan<char> GetPathRoot (ReadOnlySpan<char> path);
static member GetPathRoot : ReadOnlySpan<char> -> ReadOnlySpan<char>
Public Shared Function GetPathRoot (path As ReadOnlySpan(Of Char)) As ReadOnlySpan(Of Char)

Параметры

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. Список распространенных задач ввода-вывода см. в разделе Общие задачи ввода-вывода.

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

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