Path.IsPathRooted Metoda

Definicja

Zwraca wartość wskazującą, czy ścieżka pliku zawiera element główny.Returns a value that indicates whether a file path contains a root.

Przeciążenia

IsPathRooted(ReadOnlySpan<Char>)

Zwraca wartość wskazującą, czy określony zakres znaków reprezentujący ścieżkę pliku zawiera element główny.Returns a value that indicates whether the specified character span that represents a file path contains a root.

IsPathRooted(String)

Zwraca wartość wskazującą, czy określony ciąg ścieżki zawiera element główny.Returns a value indicating whether the specified path string contains a root.

Uwagi

Ścieżka z odblokowanym dostępem do ścieżki pliku, który jest ustalony dla konkretnego dysku lub ścieżki. jest to kontrast ze ścieżką względną względem bieżącego dysku lub katalogu roboczego.A rooted path is file path that is fixed to a specific drive or UNIC path; it contrasts with a path that is relative to the current drive or working directory. Na przykład w systemach Windows ścieżką główną zaczyna się od ukośnika odwrotnego (na przykład "\Documents") lub litery dysku i dwukropek (na przykład "C:Documents").For example, on Windows systems, a rooted path begins with a backslash (for example, "\Documents") or a drive letter and colon (for example, "C:Documents").

Należy pamiętać, że ścieżki z odblokowanym dostępem mogą być bezwzględne (czyli w pełni kwalifikowana) lub względne.Note that rooted paths can be either absolute (that is, fully qualified) or relative. Ścieżka bezwzględna jest w pełni kwalifikowana ścieżka z katalogu głównego dysku do określonego katalogu.An absolute rooted path is a fully qualified path from the root of a drive to a specific directory. Względna ścieżka do ścieżki źródłowej określa dysk, ale jego w pełni kwalifikowana ścieżka jest rozpoznawana w bieżącym katalogu.A relative rooted path specifies a drive, but its fully qualified path is resolved against the current directory. Poniższy przykład ilustruje różnicę.The following example illustrates the difference.

using System;
using System.IO;

class Program
{
    static void Main()
    {
        string relative1 = "C:Documents"; 
        ShowPathInfo(relative1);

        string relative2 = "/Documents";
        ShowPathInfo(relative2);

        string absolute = "C:/Documents";
        ShowPathInfo(absolute);
    }

    private static void ShowPathInfo(string path)
    {
        Console.WriteLine($"Path: {path}");
        Console.WriteLine($"   Rooted: {Path.IsPathRooted(path)}");
        Console.WriteLine($"   Fully qualified: {Path.IsPathFullyQualified(path)}");
        Console.WriteLine($"   Full path: {Path.GetFullPath(path)}");
        Console.WriteLine();
    }
}
// The example displays the following output when run on a Windows system:
//    Path: C:Documents
//        Rooted: True
//        Fully qualified: False
//        Full path: c:\Users\user1\Documents\projects\path\ispathrooted\Documents
//
//    Path: /Documents
//       Rooted: True
//       Fully qualified: False
//       Full path: c:\Documents
//
//    Path: C:/Documents
//       Rooted: True
//       Fully qualified: True
//       Full path: C:\Documents
Imports System.IO

Module Program
    Public Sub Main()
        Dim relative1 As String = "C:Documents" 
        ShowPathInfo(relative1)

        Dim relative2 As String = "C:Documents" 
        ShowPathInfo(relative2)

        Dim absolute As String = "C:/Documents"
        ShowPathInfo(absolute)
    End Sub

    Private Sub ShowPathInfo(filepath As String)
        Console.WriteLine($"Path: {filepath}")
        Console.WriteLine($"   Rooted: {Path.IsPathRooted(filepath)}")
        Console.WriteLine($"   Fully qualified: {Path.IsPathFullyQualified(filepath)}")
        Console.WriteLine($"   Full path: {Path.GetFullPath(filepath)}")
        Console.WriteLine()
    End Sub
End Module
' The example displays the following output when run on a Windows system:
'    Path: C:Documents
'        Rooted: True
'        Fully qualified: False
'        Full path: c:\Users\user1\Documents\projects\path\ispathrooted\Documents
'
'    Path: /Documents
'       Rooted: True
'       Fully qualified: False
'       Full path: c:\Documents
'
'    Path: C:/Documents
'       Rooted: True
'       Fully qualified: True
'       Full path: C:\Documents

IsPathRooted(ReadOnlySpan<Char>)

Zwraca wartość wskazującą, czy określony zakres znaków reprezentujący ścieżkę pliku zawiera element główny.Returns a value that indicates whether the specified character span that represents a file path contains a root.

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

Parametry

path
ReadOnlySpan<Char>

Ścieżka do przetestowania.The path to test.

Zwraca

Boolean

true Jeśli path zawiera element główny; w przeciwnym razie, false .true if path contains a root; otherwise, false.

Dotyczy

IsPathRooted(String)

Zwraca wartość wskazującą, czy określony ciąg ścieżki zawiera element główny.Returns a value indicating whether the specified path string contains a root.

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

Parametry

path
String

Ścieżka do przetestowania.The path to test.

Zwraca

Boolean

true Jeśli path zawiera element główny; w przeciwnym razie, false .true if path contains a root; otherwise, false.

Wyjątki

Wersje .NET Framework i .NET Core starsze niż 2,1: path zawiera co najmniej jeden nieprawidłowy znak zdefiniowany w GetInvalidPathChars() ..NET Framework and .NET Core versions older than 2.1: path contains one or more of the invalid characters defined in GetInvalidPathChars().

Przykłady

W poniższym przykładzie pokazano, jak IsPathRooted można użyć metody do testowania trzech ciągów.The following example demonstrates how the IsPathRooted method can be used to test three strings.

String^ fileName = "C:\\mydir\\myfile.ext";
String^ UncPath = "\\\\myPc\\mydir\\myfile";
String^ relativePath = "mydir\\sudir\\";
bool result;
result = Path::IsPathRooted( fileName );
Console::WriteLine( "IsPathRooted('{0}') returns {1}", fileName, result.ToString() );
result = Path::IsPathRooted( UncPath );
Console::WriteLine( "IsPathRooted('{0}') returns {1}", UncPath, result.ToString() );
result = Path::IsPathRooted( relativePath );
Console::WriteLine( "IsPathRooted('{0}') returns {1}", relativePath, result.ToString() );

// This code produces output similar to the following:
//
// IsPathRooted('C:\mydir\myfile.ext') returns True
// IsPathRooted('\\myPc\mydir\myfile') returns True
// IsPathRooted('mydir\sudir\') returns False
string fileName = @"C:\mydir\myfile.ext";
string UncPath = @"\\myPc\mydir\myfile";
string relativePath = @"mydir\sudir\";
bool result;

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

result = Path.IsPathRooted(UncPath);
Console.WriteLine("IsPathRooted('{0}') returns {1}",
    UncPath, result);

result = Path.IsPathRooted(relativePath);
Console.WriteLine("IsPathRooted('{0}') returns {1}",
    relativePath, result);

// This code produces output similar to the following:
//
// IsPathRooted('C:\mydir\myfile.ext') returns True
// IsPathRooted('\\myPc\mydir\myfile') returns True
// IsPathRooted('mydir\sudir\') returns False
Dim fileName As String = "C:\mydir\myfile.ext"
Dim UncPath As String = "\\myPc\mydir\myfile"
Dim relativePath As String = "mydir\sudir\"
Dim result As Boolean

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

result = Path.IsPathRooted(UncPath)
Console.WriteLine("IsPathRooted('{0}') returns {1}", UncPath, result)

result = Path.IsPathRooted(relativePath)
Console.WriteLine("IsPathRooted('{0}') returns {1}", relativePath, result)

' This code produces output similar to the following:
'
' IsPathRooted('C:\mydir\myfile.ext') returns True
' IsPathRooted('\\myPc\mydir\myfile') returns True
' IsPathRooted('mydir\sudir\') returns False

Uwagi

IsPathRootedMetoda zwraca wartość true , jeśli pierwszy znak jest znakiem separatora katalogu, takim jak " \ ", lub jeśli ścieżka rozpoczyna się od litery dysku i dwukropka (:).The IsPathRooted method returns true if the first character is a directory separator character such as "\", or if the path starts with a drive letter and colon (:). Na przykład zwraca true dla ciągów, path takich jak " \ \mydir \\MyFile.txt", "C: \ \mydir" lub "C:mydir".For example, it returns true for path strings such as "\\MyDir\\MyFile.txt", "C:\\MyDir", or "C:MyDir". Zwraca false dla path ciągów, takich jak "Mydir".It returns false for path strings such as "MyDir".

Ta metoda nie sprawdza, czy ścieżka lub nazwa pliku istnieje.This method does not verify that the path or file name exists.

Aby uzyskać listę typowych zadań we/wy, zobacz typowe zadania we/wy.For a list of common I/O tasks, see Common I/O Tasks.

Dotyczy