Path.GetDirectoryName Yöntem

Tanım

Aşırı Yüklemeler

GetDirectoryName(String)

Belirtilen yol için dizin bilgilerini döndürür.

GetDirectoryName(ReadOnlySpan<Char>)

Bir karakter aralığıyla temsil edilen belirtilen yol için dizin bilgilerini döndürür.

GetDirectoryName(String)

Kaynak:
Path.cs
Kaynak:
Path.cs
Kaynak:
Path.cs

Belirtilen yol için dizin bilgilerini döndürür.

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

Parametreler

path
String

Bir dosya veya dizinin yolu.

Döndürülenler

için pathveya null bir kök dizini belirtirse veya null ise path dizin bilgileri. Dizin bilgileri içermiyorsa path döndürürEmpty.

Özel durumlar

2.1'den eski .NET Framework ve .NET Core sürümleri: path Parametre geçersiz karakterler içeriyor, boş veya yalnızca boşluk içeriyor.

path parametresi, sistem tarafından tanımlanan uzunluk üst sınırından daha uzundur.

Not: Windows Mağazası uygulamaları için .NET'te veya Taşınabilir Sınıf Kitaplığı'nda bunun yerine temel sınıf özel durumunu IOExceptionyakalayın.

Örnekler

Aşağıdaki örnekte, Windows tabanlı bir masaüstü platformunda yönteminin kullanılması GetDirectoryName gösterilmektedir.

String^ filePath = "C:\\MyDir\\MySubDir\\myfile.ext";
String^ directoryName;
int i = 0;

while (filePath != nullptr)
{
    directoryName = Path::GetDirectoryName(filePath);
    Console::WriteLine("GetDirectoryName('{0}') returns '{1}'",
        filePath, directoryName);
    filePath = directoryName;
    if (i == 1)
    {
        filePath = directoryName + "\\";  // this will preserve the previous path
    }
    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 ''
*/
string filePath = @"C:\MyDir\MySubDir\myfile.ext";
string directoryName;
int i = 0;

while (filePath != null)
{
    directoryName = Path.GetDirectoryName(filePath);
    Console.WriteLine("GetDirectoryName('{0}') returns '{1}'",
        filePath, directoryName);
    filePath = directoryName;
    if (i == 1)
    {
        filePath = directoryName + @"\";  // this will preserve the previous path
    }
    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 ''
*/
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 ''

Açıklamalar

Çoğu durumda, bu yöntem tarafından döndürülen dize, yoldaki en son dizin ayırıcı karakterlerini içeren ancak buna dahil olmayan tüm karakterlerden oluşur. Dizin ayırıcı karakteri veya DirectorySeparatorCharAltDirectorySeparatorCharolabilir. Yol "c:\" gibi bir kök dizinden oluşuyorsa döndürülür null .

Bu yöntem "file:" kullanan yolları desteklemez.

Döndürülen yol son dizin ayırıcı karakterlerini içermediğinden, döndürülen yolu yöntemine geri geçirerek GetDirectoryName sonuç yolundaki sonraki çağrı başına bir klasör düzeyi kesilir. Örneğin, "C:\Directory\SubDirectory\test.txt" yolunun içine geçirilmesi GetDirectoryName "C:\Directory\SubDirectory" döndürür. "C:\Directory\SubDirectory" yolunu " GetDirectoryName C:\Directory" döndürür.

Yaygın G/Ç görevlerinin listesi için bkz. Ortak G/Ç görevleri.

Ayrıca bkz.

Şunlara uygulanır

GetDirectoryName(ReadOnlySpan<Char>)

Kaynak:
Path.cs
Kaynak:
Path.cs
Kaynak:
Path.cs

Bir karakter aralığıyla temsil edilen belirtilen yol için dizin bilgilerini döndürür.

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)

Parametreler

path
ReadOnlySpan<Char>

Dizin bilgilerini almak için yol.

Döndürülenler

için dizin bilgileri pathveya boş bir span ise pathnull, boş bir yayılma alanı veya kök (\, C:veya \\server\share gibi).

Açıklamalar

Dize aşırı yüklemesinin aksine, bu yöntem dizin ayırıcılarını normalleştirmez.

Ayrıca bkz.

Şunlara uygulanır