Path.Combine Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Combina stringhe in un percorso.
Overload
Combine(String[]) |
Combina una matrice di stringhe in un percorso. |
Combine(String, String) |
Combina due stringhe in un percorso. |
Combine(String, String, String) |
Combina tre stringhe in un percorso. |
Combine(String, String, String, String) |
Combina quattro stringhe in un percorso. |
Commenti
Questo metodo è destinato a concatenare singole stringhe in una singola stringa che rappresenta un percorso file. Tuttavia, se un argomento diverso dal primo contiene un percorso root, tutti i componenti del percorso precedenti vengono ignorati e la stringa restituita inizia con tale componente del percorso radice. In alternativa al metodo, prendere in considerazione l'uso Combine
dei Join metodi o TryJoin .
Importante
Questo metodo presuppone che il primo argomento sia un percorso assoluto e che l'argomento o gli argomenti seguenti siano percorsi relativi. In caso contrario, e in particolare se gli argomenti successivi sono stringhe immesse dall'utente, chiamare invece il Join metodo o TryJoin .
Combine(String[])
- Origine:
- Path.cs
- Origine:
- Path.cs
- Origine:
- Path.cs
Combina una matrice di stringhe in un percorso.
public:
static System::String ^ Combine(... cli::array <System::String ^> ^ paths);
public static string Combine (params string[] paths);
static member Combine : string[] -> string
Public Shared Function Combine (ParamArray paths As String()) As String
Parametri
- paths
- String[]
Matrice di parti del percorso.
Restituisce
Percorsi combinati.
Eccezioni
.NET Framework e versioni di .NET Core precedenti a 2.1: una delle stringhe nella matrice contiene uno o più caratteri non validi definiti in GetInvalidPathChars().
Una delle stringhe nella matrice è null
.
Esempio
Nell'esempio seguente viene combinata una matrice di stringhe in un percorso.
string[] paths = {@"d:\archives", "2001", "media", "images"};
string fullPath = Path.Combine(paths);
Console.WriteLine(fullPath);
Dim paths As String() = {"d:\archives", "2001", "media", "images"}
Dim fullPath As String = Path.Combine(paths)
Console.WriteLine(fullPath)
Commenti
paths
deve essere una matrice delle parti del percorso da combinare. Se uno dei percorsi successivi è un percorso assoluto, l'operazione di combinazione reimposta a partire da quel percorso assoluto, rimuovendo tutti i percorsi combinati precedenti.
Se qualsiasi elemento in paths
ma l'ultimo non è un'unità e non termina con DirectorySeparatorChar il carattere o AltDirectorySeparatorChar , il Combine
metodo aggiunge un DirectorySeparatorChar carattere tra tale elemento e quello successivo. Si noti che, se l'elemento termina in un carattere separatore di percorso non appropriato per la piattaforma di destinazione, il Combine
metodo mantiene il carattere separatore di percorso originale e aggiunge uno supportato. Nell'esempio seguente viene confrontato il risultato nei sistemi basati su Windows e Unix quando la barra rovesciata viene usata come carattere separatore di percorso.
string[] paths = {@"d:\archives", "2001", "media", "images"};
string fullPath = Path.Combine(paths);
Console.WriteLine(fullPath);
paths = new string[] {@"d:\archives\", @"2001\", "media", "images"};
fullPath = Path.Combine(paths);
Console.WriteLine(fullPath);
paths = new string[] {"d:/archives/", "2001/", "media", "images"};
fullPath = Path.Combine(paths);
Console.WriteLine(fullPath);
// The example displays the following output if run on a Windows system:
// d:\archives\2001\media\images
// d:\archives\2001\media\images
// d:/archives/2001/media\images
//
// The example displays the following output if run on a Unix-based system:
// d:\archives/2001/media/images
// d:\archives\/2001\/media/images
// d:/archives/2001/media/images
Dim paths As String() = { "d:\archives", "2001", "media", "images" }
Dim fullPath As String = Path.Combine(paths)
Console.WriteLine(fullPath)
paths = { "d:\archives\", "2001\", "media", "images" }
fullPath = Path.Combine(paths)
Console.WriteLine(fullPath)
paths = { "d:/archives/", "2001/", "media", "images" }
fullPath = Path.Combine(paths)
Console.WriteLine(fullPath)
' The example displays the following output if run on a Windows system:
' d:\archives\2001\media\images
' d:\archives\2001\media\images
' d:/archives/2001/media\images
'
' The example displays the following output if run on a Linux system:
' d:\archives/2001/media/images
' d:\archives\/2001\/media/images
' d:/archives/2001/media/images
Le stringhe di lunghezza zero vengono omesse dal percorso combinato.
I parametri non vengono analizzati se hanno spazio vuoto.
.NET Framework e versioni di .NET Core precedenti a 2.1: non tutti i caratteri non validi per i nomi di directory e file vengono interpretati come non accettabili dal Combine
metodo, perché è possibile usare questi caratteri per la ricerca di caratteri jolly. Ad esempio, anche Path.Combine("c:\\", "*.txt")
se potrebbe non essere valido se si crea un file da esso, è valido come stringa di ricerca. Viene quindi interpretato correttamente dal Combine
metodo .
Vedi anche
Si applica a
Combine(String, String)
- Origine:
- Path.cs
- Origine:
- Path.cs
- Origine:
- Path.cs
Combina due stringhe in un percorso.
public:
static System::String ^ Combine(System::String ^ path1, System::String ^ path2);
public static string Combine (string path1, string path2);
static member Combine : string * string -> string
Public Shared Function Combine (path1 As String, path2 As String) As String
Parametri
- path1
- String
Primo percorso da combinare.
- path2
- String
Secondo percorso da combinare.
Restituisce
Percorsi combinati. Se uno dei percorsi specificati è una stringa di lunghezza zero, il metodo restituirà solo l'altro percorso. Se path2
contiene un percorso assoluto, il metodo restituisce path2
.
Eccezioni
.NET Framework e .NET Core versioni precedenti alla versione 2.1: path1
o path2
contiene uno o più caratteri non validi definiti in GetInvalidPathChars().
path1
o path2
è null
.
Esempio
Nell'esempio seguente viene illustrato l'uso del Combine
metodo in Windows.
using namespace System;
using namespace System::IO;
void CombinePaths( String^ p1, String^ p2 )
{
try
{
String^ combination = Path::Combine( p1, p2 );
Console::WriteLine( "When you combine '{0}' and '{1}', the result is: {2}'{3}'", p1, p2, Environment::NewLine, combination );
}
catch ( Exception^ e )
{
if (p1 == nullptr)
p1 = "nullptr";
if (p2 == nullptr)
p2 = "nullptr";
Console::WriteLine( "You cannot combine '{0}' and '{1}' because: {2}{3}", p1, p2, Environment::NewLine, e->Message );
}
Console::WriteLine();
}
int main()
{
String^ path1 = "c:\\temp";
String^ path2 = "subdir\\file.txt";
String^ path3 = "c:\\temp.txt";
String^ path4 = "c:^*&)(_=@#'\\^.*(.txt";
String^ path5 = "";
String^ path6 = nullptr;
CombinePaths( path1, path2 );
CombinePaths( path1, path3 );
CombinePaths( path3, path2 );
CombinePaths( path4, path2 );
CombinePaths( path5, path2 );
CombinePaths( path6, path2 );
}
using System;
using System.IO;
public class ChangeExtensionTest
{
public static void Main()
{
string path1 = "c:\\temp";
string path2 = "subdir\\file.txt";
string path3 = "c:\\temp.txt";
string path4 = "c:^*&)(_=@#'\\^.*(.txt";
string path5 = "";
CombinePaths(path1, path2);
CombinePaths(path1, path3);
CombinePaths(path3, path2);
CombinePaths(path4, path2);
CombinePaths(path5, path2);
}
private static void CombinePaths(string p1, string p2)
{
string combination = Path.Combine(p1, p2);
Console.WriteLine("When you combine '{0}' and '{1}', the result is: {2}'{3}'",
p1, p2, Environment.NewLine, combination);
Console.WriteLine();
}
}
// This code produces output similar to the following:
//
// When you combine 'c:\temp' and 'subdir\file.txt', the result is:
// 'c:\temp\subdir\file.txt'
//
// When you combine 'c:\temp' and 'c:\temp.txt', the result is:
// 'c:\temp.txt'
//
// When you combine 'c:\temp.txt' and 'subdir\file.txt', the result is:
// 'c:\temp.txt\subdir\file.txt'
//
// When you combine 'c:^*&)(_=@#'\^.*(.txt' and 'subdir\file.txt', the result is:
// 'c:^*&)(_=@#'\^.*(.txt\subdir\file.txt'
//
// When you combine '' and 'subdir\file.txt', the result is:
// 'subdir\file.txt'
Imports System.IO
Public Class ChangeExtensionTest
Public Shared Sub Main()
Dim path1 As String = "c:\temp"
Dim path2 As String = "subdir\file.txt"
Dim path3 As String = "c:\temp.txt"
Dim path4 As String = "c:^*&)(_=@#'\\^.*(.txt"
Dim path5 As String = ""
Dim path6 As String = Nothing
CombinePaths(path1, path2)
CombinePaths(path1, path3)
CombinePaths(path3, path2)
CombinePaths(path4, path2)
CombinePaths(path5, path2)
CombinePaths(path6, path2)
End Sub
Private Shared Sub CombinePaths(p1 As String, p2 As String)
Try
Dim combination As String = Path.Combine(p1, p2)
Console.WriteLine("When you combine '{0}' and '{1}', the result is: {2}'{3}'", p1, p2, Environment.NewLine, combination)
Catch e As Exception
If p1 = Nothing Then
p1 = "Nothing"
End If
If p2 = Nothing Then
p2 = "Nothing"
End If
Console.WriteLine("You cannot combine '{0}' and '{1}' because: {2}{3}", p1, p2, Environment.NewLine, e.Message)
End Try
Console.WriteLine()
End Sub
End Class
' This code produces output similar to the following:
'
' When you combine 'c:\temp' and 'subdir\file.txt', the result is:
' 'c:\temp\subdir\file.txt'
'
' When you combine 'c:\temp' and 'c:\temp.txt', the result is:
' 'c:\temp.txt'
'
' When you combine 'c:\temp.txt' and 'subdir\file.txt', the result is:
' 'c:\temp.txt\subdir\file.txt'
'
' When you combine 'c:^*&)(_=@#'\^.*(.txt' and 'subdir\file.txt', the result is:
' 'c:^*&)(_=@#'\^.*(.txt\subdir\file.txt'
'
' When you combine '' and 'subdir\file.txt', the result is:
' 'subdir\file.txt'
'
' You cannot combine '' and 'subdir\file.txt' because:
' Value cannot be null.
' Parameter name: path1
Commenti
Se path1
non è un riferimento all'unità , ovvero "C:" o "D:") e non termina con un carattere separatore valido come definito in DirectorySeparatorChar, AltDirectorySeparatorCharo VolumeSeparatorChar, DirectorySeparatorChar viene aggiunto a path1
prima della concatenazione. Si noti che se path1
termina in un carattere separatore di percorso non appropriato per la piattaforma di destinazione, il Combine
metodo mantiene il carattere separatore di percorso originale e aggiunge uno supportato. Nell'esempio seguente viene confrontato il risultato nei sistemi basati su Windows e Unix quando la barra rovesciata viene usata come carattere separatore di percorso.
var result = Path.Combine(@"C:\Pictures\", "Saved Pictures");
Console.WriteLine(result);
// The example displays the following output if run on a Windows system:
// C:\Pictures\Saved Pictures
//
// The example displays the following output if run on a Unix-based system:
// C:\Pictures\/Saved Pictures
Dim result = Path.Combine("C:\Pictures\", "Saved Pictures")
Console.WriteLine(result)
' The example displays the following output if run on a Windows system:
' C:\Pictures\Saved Pictures
'
' The example displays the following output if run on a Unix-based system:
' C:\Pictures\/Saved Pictures
Se path2
non include una radice ,ad esempio, se path2
non inizia con un carattere separatore o una specifica di unità, il risultato è una concatenazione dei due percorsi, con un carattere separatore di intervento. Se path2
include una radice, path2
viene restituita.
I parametri non vengono analizzati se hanno spazio vuoto. Pertanto, se path2
include spazio vuoto (ad esempio, " \file.txt "), il Combine metodo aggiunge path2
a path1
anziché restituire solo path2
.
.NET Framework e versioni di .NET Core precedenti a 2.1: non tutti i caratteri non validi per i nomi di directory e file vengono interpretati come non accettabili dal Combine
metodo, perché è possibile usare questi caratteri per la ricerca di caratteri jolly. Ad esempio, anche Path.Combine("c:\\", "*.txt")
se potrebbe non essere valido se si crea un file da esso, è valido come stringa di ricerca. Viene quindi interpretato correttamente dal Combine
metodo .
Per un elenco di attività di I/O comuni, vedere Attività di I/O comuni.
Vedi anche
- Formati dei percorsi di file nei sistemi Windows
- File e Stream I/O
- Procedura: Leggere testo da un file
- Procedura: Scrivere un testo in un file
Si applica a
Combine(String, String, String)
- Origine:
- Path.cs
- Origine:
- Path.cs
- Origine:
- Path.cs
Combina tre stringhe in un percorso.
public:
static System::String ^ Combine(System::String ^ path1, System::String ^ path2, System::String ^ path3);
public static string Combine (string path1, string path2, string path3);
static member Combine : string * string * string -> string
Public Shared Function Combine (path1 As String, path2 As String, path3 As String) As String
Parametri
- path1
- String
Primo percorso da combinare.
- path2
- String
Secondo percorso da combinare.
- path3
- String
Terzo percorso da combinare.
Restituisce
Percorsi combinati.
Eccezioni
.NET Framework e .NET Core versioni precedenti alla versione 2.1: path1
, path2
o path3
contiene uno o più caratteri non validi definiti in GetInvalidPathChars().
path1
, path2
o path3
è null
.
Esempio
Nell'esempio seguente vengono combinati tre percorsi.
string p1 = @"d:\archives\";
string p2 = "media";
string p3 = "images";
string combined = Path.Combine(p1, p2, p3);
Console.WriteLine(combined);
Dim p1 As String = "d:\archives\"
Dim p2 As String = "media"
Dim p3 As String = "images"
Dim combined As String = Path.Combine(p1, p2, p3)
Console.WriteLine(combined)
Commenti
path1
deve essere un percorso assoluto ,ad esempio "d:\archives" o "\\archives\public"). Se path2
o path3
è anche un percorso assoluto, l'operazione di combinazione elimina tutti i percorsi combinati in precedenza e reimposta il percorso assoluto.
Le stringhe di lunghezza zero vengono omesse dal percorso combinato.
Se path1
o path2
non è un riferimento all'unità , ovvero "C:" o "D:") e non termina con un carattere separatore valido come definito in DirectorySeparatorChar, AltDirectorySeparatorCharo VolumeSeparatorChar, DirectorySeparatorChar viene aggiunto o path1
path2
prima della concatenazione. Si noti che se path1
o path2
termina in un carattere separatore di percorso non appropriato per la piattaforma di destinazione, il Combine
metodo mantiene il carattere separatore di percorso originale e aggiunge uno supportato. Nell'esempio seguente viene confrontato il risultato nei sistemi basati su Windows e Unix quando la barra rovesciata viene usata come carattere separatore di percorso.
var result = Path.Combine(@"C:\Pictures\", @"Saved Pictures\", "2019");
Console.WriteLine(result);
// The example displays the following output if run on a Windows system:
// C:\Pictures\Saved Pictures\2019
//
// The example displays the following output if run on a Unix-based system:
// C:\Pictures\/Saved Pictures\/2019
Dim result = Path.Combine("C:\Pictures\", "Saved Pictures\", "2019")
Console.WriteLine(result)
' The example displays the following output if run on a Windows system:
' C:\Pictures\Saved Pictures\2019
'
' The example displays the following output if run on a Unix-based system:
' C:\Pictures\/Saved Pictures\/2019
Se path2
non include una radice ,ad esempio, se path2
non inizia con un carattere separatore o una specifica di unità, il risultato è una concatenazione dei due percorsi, con un carattere separatore di intervento. Se path2
include una radice, path2
viene restituita.
I parametri non vengono analizzati se hanno spazio vuoto. Pertanto, se path2
include spazi vuoti (ad esempio , " \file.txt "), il Combine metodo aggiunge path2
a path1
.
.NET Framework e versioni di .NET Core precedenti a 2.1: non tutti i caratteri non validi per i nomi di directory e file vengono interpretati come non accettabili dal Combine
metodo, perché è possibile usare questi caratteri per la ricerca di caratteri jolly. Ad esempio, anche Path.Combine("c:\\", "*.txt")
se potrebbe non essere valido se si crea un file da esso, è valido come stringa di ricerca. Viene quindi interpretato correttamente dal Combine
metodo .
Vedi anche
Si applica a
Combine(String, String, String, String)
- Origine:
- Path.cs
- Origine:
- Path.cs
- Origine:
- Path.cs
Combina quattro stringhe in un percorso.
public:
static System::String ^ Combine(System::String ^ path1, System::String ^ path2, System::String ^ path3, System::String ^ path4);
public static string Combine (string path1, string path2, string path3, string path4);
static member Combine : string * string * string * string -> string
Public Shared Function Combine (path1 As String, path2 As String, path3 As String, path4 As String) As String
Parametri
- path1
- String
Primo percorso da combinare.
- path2
- String
Secondo percorso da combinare.
- path3
- String
Terzo percorso da combinare.
- path4
- String
Quarto percorso da combinare.
Restituisce
Percorsi combinati.
Eccezioni
.NET Framework e .NET Core versioni precedenti alla versione 2.1: path1
, , path2
path3
o path4
contiene uno o più caratteri non validi definiti in GetInvalidPathChars().
path1
, path2
, path3
o path4
è null
.
Esempio
Nell'esempio seguente vengono combinati quattro percorsi.
string path1 = @"d:\archives\";
string path2 = "2001";
string path3 = "media";
string path4 = "images";
string combinedPath = Path.Combine(path1, path2, path3, path4);
Console.WriteLine(combinedPath);
Dim path1 As String = "d:\archives\"
Dim path2 As String = "2001"
Dim path3 As String = "media"
Dim path4 As String = "imaged"
Dim combinedPath As String = Path.Combine(path1, path2, path3, path4)
Console.WriteLine(combined)
Commenti
path1
deve essere un percorso assoluto ,ad esempio "d:\archives" o "\\archives\public"). Se uno dei percorsi successivi è anche un percorso assoluto, l'operazione di combinazione elimina tutti i percorsi combinati in precedenza e reimposta il percorso assoluto.
Le stringhe di lunghezza zero vengono omesse dal percorso combinato.
Se path1
, path2
o path3
non è un riferimento all'unità , ovvero "C:" o "D:") e non termina con un carattere separatore valido come definito in DirectorySeparatorChar, AltDirectorySeparatorCharo VolumeSeparatorChar, DirectorySeparatorChar viene aggiunto a esso prima della concatenazione. Si noti che se path1
, path2
o path3
termina in un carattere separatore di percorso non appropriato per la piattaforma di destinazione, il Combine
metodo mantiene il carattere separatore di percorso originale e aggiunge uno supportato. Nell'esempio seguente viene confrontato il risultato nei sistemi basati su Windows e Unix quando la barra rovesciata viene usata come carattere separatore di percorso.
var result = Path.Combine(@"C:\Pictures\", @"Saved Pictures\", @"2019\", @"Jan\");
Console.WriteLine(result);
// The example displays the following output if run on a Windows system:
// C:\Pictures\Saved Pictures\2019\Jan\
//
// The example displays the following output if run on a Unix-based system:
// C:\Pictures\Saved Pictures\2019\Jan\
Dim result = Path.Combine("C:\Pictures\", "Saved Pictures\", "2019\", "Jan\")
Console.WriteLine(result)
' The example displays the following output if run on a Windows system:
' C:\Pictures\Saved Pictures\2019\Jan\
'
' The example displays the following output if run on a Unix-based system:
' C:\Pictures\Saved Pictures\2019\Jan\
Se path2
non include una radice ,ad esempio, se path2
non inizia con un carattere separatore o una specifica di unità, il risultato è una concatenazione dei due percorsi, con un carattere separatore di intervento. Se path2
include una radice, path2
viene restituita.
I parametri non vengono analizzati se hanno spazio vuoto. Pertanto, se path2
include spazi vuoti (ad esempio , " \file.txt "), il Combine metodo aggiunge path2
a path1
.
.NET Framework e versioni di .NET Core precedenti a 2.1: non tutti i caratteri non validi per i nomi di directory e file vengono interpretati come non accettabili dal Combine
metodo, perché è possibile usare questi caratteri per la ricerca di caratteri jolly. Ad esempio, anche Path.Combine("c:\\", "*.txt")
se potrebbe non essere valido se si crea un file da esso, è valido come stringa di ricerca. Viene quindi interpretato correttamente dal Combine
metodo .
Vedi anche
Si applica a
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per