Path.GetDirectoryName Methode

Definitie

Overloads

Name Description
GetDirectoryName(String)

Retourneert de mapgegevens voor het opgegeven pad.

GetDirectoryName(ReadOnlySpan<Char>)

Retourneert de mapgegevens voor het opgegeven pad dat wordt vertegenwoordigd door een tekenbereik.

GetDirectoryName(String)

Retourneert de mapgegevens voor het opgegeven pad.

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

Parameters

path
String

Het pad van een bestand of map.

Retouren

Mapgegevens voor path, of null als path deze een hoofdmap aangeeft of null is. Retourneert Empty als path deze geen mapgegevens bevat.

Uitzonderingen

.NET Framework en .NET Core-versies ouder dan 2.1: de parameter path bevat ongeldige tekens, is leeg of bevat alleen spaties.

De path parameter is langer dan de door het systeem gedefinieerde maximumlengte.

Opmerking: In .NET voor Windows Store-apps of de Portable Class Library, haalt u in plaats daarvan de uitzondering van de basisklasse op, IOException.

Voorbeelden

In het volgende voorbeeld ziet u hoe u de methode GetDirectoryName gebruikt op een desktopplatform op basis van Windows.

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 ''

Opmerkingen

In de meeste gevallen bestaat de tekenreeks die door deze methode wordt geretourneerd uit alle tekens in het pad tot, maar niet inclusief, het laatste scheidingsteken voor de map. Een adreslijstscheidingsteken kan DirectorySeparatorChar een of AltDirectorySeparatorChar. Als het pad bestaat uit een hoofdmap, zoals 'c:\', null wordt geretourneerd.

Deze methode biedt geen ondersteuning voor paden met behulp van 'file:'.

Omdat het geretourneerde pad niet het laatste scheidingsteken voor de map bevat, wordt het geretourneerde pad weer doorgegeven aan de GetDirectoryName methode, waarbij één mapniveau per volgende aanroep van het resultaatpad wordt afgekapt. Als u bijvoorbeeld het pad 'C:\Directory\SubDirectory\test.txt' doorgeeft in GetDirectoryName 'C:\Directory\Submap'. Als u dat pad doorgeeft, 'C:\Directory\SubMap', wordt GetDirectoryName 'C:\Directory' geretourneerd.

Zie Algemene I/O-taken voor een lijst met algemene I/O-taken.

Zie ook

Van toepassing op

GetDirectoryName(ReadOnlySpan<Char>)

Retourneert de mapgegevens voor het opgegeven pad dat wordt vertegenwoordigd door een tekenbereik.

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)

Parameters

path
ReadOnlySpan<Char>

Het pad waaruit de mapgegevens moeten worden opgehaald.

Retouren

Adreslijstgegevens voorpath, of een lege span als dat het isnull, een lege span path of een hoofdmap (zoals \, C:of \\server\share).

Opmerkingen

In tegenstelling tot de overbelasting van tekenreeksen worden met deze methode geen adreslijstscheidingstekens genormaliseerd.

Zie ook

Van toepassing op