Path.GetDirectoryName Metod

Definition

Överlagringar

Name Description
GetDirectoryName(String)

Returnerar kataloginformationen för den angivna sökvägen.

GetDirectoryName(ReadOnlySpan<Char>)

Returnerar kataloginformationen för den angivna sökvägen som representeras av ett teckenintervall.

GetDirectoryName(String)

Returnerar kataloginformationen för den angivna sökvägen.

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

Parametrar

path
String

Sökvägen till en fil eller katalog.

Returer

Kataloginformation för path, eller null om path anger en rotkatalog eller är null. Returnerar Empty om path inte innehåller kataloginformation.

Undantag

.NET Framework- och .NET Core-versioner som är äldre än 2.1: parametern path innehåller ogiltiga tecken, är tom eller innehåller endast blanksteg.

Parametern path är längre än den systemdefinierade maximala längden.

Obs! I .NET för Windows Store-appar eller Portable Class Library fångar du i stället basklassfelet IOException.

Exempel

I följande exempel visas hur du använder metoden GetDirectoryName på en Windows-baserad skrivbordsplattform.

string? filePath = @"C:\MyDir\MySubDir\myfile.ext";
string? directoryName;
int i = 0;

while (filePath != null)
{
    directoryName = Path.GetDirectoryName(filePath);
    Console.WriteLine($"GetDirectoryName(\"{filePath}\") returns {directoryName ?? "NULL"}");

    filePath = (i == 1)
        ? directoryName + @"\"  // this will preserve the previous path
        : directoryName;

    i++;
}
/*
This code produces the following output:

GetDirectoryName("C:\MyDir\MySubDir\myfile.ext") returns C:\MyDir\MySubDir
GetDirectoryName("C:\MyDir\MySubDir") returns C:\MyDir
GetDirectoryName("C:\MyDir\") returns C:\MyDir
GetDirectoryName("C:\MyDir") returns C:\
GetDirectoryName("C:\") returns NULL
*/
Dim filepath As String = "C:\MyDir\MySubDir\myfile.ext"
Dim directoryName As String
Dim i As Integer = 0

While filepath <> Nothing
    directoryName = Path.GetDirectoryName(filepath)
    Console.WriteLine("GetDirectoryName('{0}') returns '{1}'", _
        filepath, directoryName)
    filepath = directoryName
    If i = 1 Then
       filepath = directoryName + "\"  ' this will preserve the previous path
    End If
    i = i + 1
End While

'This code produces the following output:
'
' GetDirectoryName('C:\MyDir\MySubDir\myfile.ext') returns 'C:\MyDir\MySubDir'
' GetDirectoryName('C:\MyDir\MySubDir') returns 'C:\MyDir'
' GetDirectoryName('C:\MyDir\') returns 'C:\MyDir'
' GetDirectoryName('C:\MyDir') returns 'C:\'
' GetDirectoryName('C:\') returns ''

Kommentarer

I de flesta fall består strängen som returneras av den här metoden av alla tecken i sökvägen upp till, men inte inklusive, de sista katalogavgränsarna. Ett katalogavgränsartecken kan vara antingen DirectorySeparatorChar eller AltDirectorySeparatorChar. Om sökvägen består av en rotkatalog, till exempel "c:\", null returneras.

Den här metoden stöder inte sökvägar med hjälp av "file:".

Eftersom den returnerade sökvägen inte innehåller de sista katalogavgränsarna, trunkerar den returnerade sökvägen tillbaka till GetDirectoryName metoden en mappnivå per efterföljande anrop på resultatsökvägen. Om du till exempel skickar sökvägen "C:\Directory\SubDirectory\test.txt" till GetDirectoryName returneras "C:\Directory\SubDirectory". Om du skickar sökvägen "C:\Directory\SubDirectory" till GetDirectoryName returneras "C:\Directory".

En lista över vanliga I/O-uppgifter finns i Vanliga I/O-uppgifter.

Se även

Gäller för

GetDirectoryName(ReadOnlySpan<Char>)

Returnerar kataloginformationen för den angivna sökvägen som representeras av ett teckenintervall.

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

Parametrar

path
ReadOnlySpan<Char>

Sökvägen för att hämta kataloginformationen från.

Returer

Kataloginformation för path, eller ett tomt intervall om path är null, ett tomt intervall eller en rot (till exempel \, C:eller \\server\share).

Kommentarer

Till skillnad från strängöverlagringen normaliserar inte den här metoden katalogavgränsare.

Se även

Gäller för