Path.GetDirectoryName Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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
- Bestandspadindelingen op Windows systemen
- Bestands- en Stream-I/O
- Procedure: Tekst uit een bestand lezen
- Procedure: Tekst naar een bestand schrijven
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.