Condividi tramite


Path.GetDirectoryName Metodo

Definizione

Overload

GetDirectoryName(String)

Restituisce le informazioni sulla directory per il percorso specificato.

GetDirectoryName(ReadOnlySpan<Char>)

Restituisce le informazioni sulla directory per il percorso specificato rappresentato da un intervallo di caratteri.

GetDirectoryName(String)

Origine:
Path.cs
Origine:
Path.cs
Origine:
Path.cs

Restituisce le informazioni sulla directory per il percorso specificato.

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

Parametri

path
String

Percorso di un file o di una directory.

Restituisce

Informazioni sulla directory per path o null se path indica una directory radice o è Null. Restituisce Empty se path non contiene informazioni sulla directory.

Eccezioni

.NET Framework e versioni di .NET Core precedenti alla 2.1: il path parametro contiene caratteri non validi, è vuoto o contiene solo spazi vuoti.

La lunghezza del parametro path è maggiore della lunghezza massima definita nel sistema.

Nota: in .NET per le app di Windows Store o nella libreria di classi portabile intercettare invece l'eccezione della classe di base, IOException, .

Esempio

L'esempio seguente illustra l'uso del GetDirectoryName metodo in una piattaforma desktop basata su Windows.

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

Commenti

Nella maggior parte dei casi, la stringa restituita da questo metodo è costituita da tutti i caratteri nel percorso fino a, ma non inclusi, gli ultimi caratteri separatori di directory. Un carattere separatore di directory può essere DirectorySeparatorChar o AltDirectorySeparatorChar. Se il percorso è costituito da una directory radice, ad esempio "c:\", null viene restituito .

Questo metodo non supporta i percorsi che usano "file:".

Poiché il percorso restituito non include gli ultimi caratteri separatori di directory, passando di nuovo il percorso restituito nel GetDirectoryName metodo tronca un livello di cartella per ogni chiamata successiva sul percorso del risultato. Ad esempio, passando il percorso "C:\Directory\SubDirectory\test.txt" in GetDirectoryName restituisce "C:\Directory\SubDirectory". Passando il percorso "C:\Directory\SubDirectory", in GetDirectoryName restituisce "C:\Directory".

Per un elenco delle attività di I/O comuni, vedere Attività di I/O comuni.

Vedi anche

Si applica a

GetDirectoryName(ReadOnlySpan<Char>)

Origine:
Path.cs
Origine:
Path.cs
Origine:
Path.cs

Restituisce le informazioni sulla directory per il percorso specificato rappresentato da un intervallo di caratteri.

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)

Parametri

path
ReadOnlySpan<Char>

Percorso da cui recuperare le informazioni sulla directory.

Restituisce

Informazioni sulla directory per patho un intervallo vuoto se path è null, un intervallo vuoto o una radice (ad esempio \, C:, o \\server\share).

Commenti

A differenza dell'overload di stringhe, questo metodo non normalizza i separatori di directory.

Vedi anche

Si applica a