Path.Combine Méthode

Définition

Combine des chaînes en un chemin d'accès.

Surcharges

Combine(String[])

Combine un tableau de chaînes en un chemin d’accès.

Combine(String, String)

Combine deux chaînes en un chemin d’accès.

Combine(String, String, String)

Combine trois chaînes en un chemin d'accès.

Combine(String, String, String, String)

Combine quatre chaînes en un chemin d'accès.

Remarques

Cette méthode est destinée à concaténer des chaînes individuelles en une seule chaîne qui représente un chemin d’accès de fichier. Toutefois, si un argument autre que le premier contient un chemin rooté, tous les composants de chemin d’accès précédents sont ignorés et la chaîne retournée commence par ce composant de chemin rooté. En guise d’alternative à la Combine méthode , envisagez d’utiliser les Join méthodes ou TryJoin .

Important

Cette méthode suppose que le premier argument est un chemin d’accès absolu et que le ou les arguments suivants sont des chemins relatifs. Si ce n’est pas le cas, et en particulier si les arguments suivants sont des chaînes entrées par l’utilisateur, appelez la méthode ou TryJoin à la Join place.

Combine(String[])

Source:
Path.cs
Source:
Path.cs
Source:
Path.cs

Combine un tableau de chaînes en un chemin d’accès.

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

Paramètres

paths
String[]

Tableau de parties du chemin d’accès.

Retours

Chemins d'accès combinés.

Exceptions

.NET Framework et .NET Core versions antérieures à 2.1 : l’une des chaînes du tableau contient un ou plusieurs des caractères non valides définis dans GetInvalidPathChars().

L’une des chaînes du tableau est null.

Exemples

L’exemple suivant combine un tableau de chaînes dans un chemin d’accès.

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)

Remarques

paths doit être un tableau des parties du chemin d’accès à combiner. Si l’un des chemins suivants est un chemin d’accès absolu, l’opération de combinaison est réinitialisée à partir de ce chemin absolu, en ignorant tous les chemins combinés précédents.

Si un élément dans paths , mais le dernier, n’est pas un lecteur et ne se termine pas par le DirectorySeparatorCharAltDirectorySeparatorChar caractère ou , la Combine méthode ajoute un DirectorySeparatorChar caractère entre cet élément et le suivant. Notez que, si l’élément se termine par un caractère séparateur de chemin qui n’est pas approprié pour la plateforme cible, la Combine méthode conserve le caractère séparateur de chemin d’accès d’origine et en ajoute un pris en charge. L’exemple suivant compare le résultat sur les systèmes Windows et Unix lorsque la barre oblique inverse est utilisée comme caractère séparateur de chemin.

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

Les chaînes de longueur nulle sont omises du chemin combiné.

Les paramètres ne sont pas analysés s’ils ont des espaces blancs.

.NET Framework et .NET Core versions antérieures à 2.1 : la méthode ne permet pas d’interpréter tous les caractères non valides pour les Combine noms de répertoires et de fichiers, car vous pouvez utiliser ces caractères pour les caractères génériques de recherche. Par exemple, alors que Path.Combine("c:\\", "*.txt") peut être non valide si vous créez un fichier à partir de celui-ci, il est valide en tant que chaîne de recherche. Elle est donc correctement interprétée par la Combine méthode .

Voir aussi

S’applique à

Combine(String, String)

Source:
Path.cs
Source:
Path.cs
Source:
Path.cs

Combine deux chaînes en un chemin d’accès.

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

Paramètres

path1
String

Premier chemin d'accès à combiner.

path2
String

Deuxième chemin d'accès à combiner.

Retours

Chemins d'accès combinés. Si un des chemins d'accès spécifiés est une chaîne de longueur zéro, cette méthode retourne l'autre chemin d'accès. Si path2 contient un chemin d’accès absolu, cette méthode retourne path2.

Exceptions

.NET Framework et .NET Core versions antérieures à 2.1 : path1 ou path2 contient un ou plusieurs des caractères non valides définis dans GetInvalidPathChars().

path1 ou path2 est null.

Exemples

L’exemple suivant illustre l’utilisation de la Combine méthode sur 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:^*&)(_=@#'\\^&#2.*(.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:^*&)(_=@#'\\^&#2.*(.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:^*&)(_=@#'\^&#2.*(.txt' and 'subdir\file.txt', the result is:
// 'c:^*&)(_=@#'\^&#2.*(.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:^*&)(_=@#'\\^&#2.*(.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:^*&)(_=@#'\^&#2.*(.txt' and 'subdir\file.txt', the result is: 
' 'c:^*&)(_=@#'\^&#2.*(.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

Remarques

Si path1 n’est pas une référence de lecteur (c’est-à-dire , « C: » ou « D: ») et ne se termine pas par un caractère de séparation valide tel que défini dans DirectorySeparatorChar, AltDirectorySeparatorCharou VolumeSeparatorChar, DirectorySeparatorChar est ajouté à path1 avant la concaténation. Notez que si path1 se termine par un caractère séparateur de chemin qui n’est pas approprié pour la plateforme cible, la Combine méthode conserve le caractère séparateur de chemin d’accès d’origine et en ajoute un pris en charge. L’exemple suivant compare le résultat sur les systèmes Windows et Unix lorsque la barre oblique inverse est utilisée comme caractère séparateur de chemin.

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

Si path2 n’inclut pas de racine (par exemple, si path2 ne commence pas par un caractère séparateur ou une spécification de lecteur), le résultat est une concaténation des deux chemins, avec un caractère de séparation intermédiaire. Si path2 inclut une racine, path2 est retourné.

Les paramètres ne sont pas analysés s’ils ont des espaces blancs. Par conséquent, si path2 inclut des espaces blancs path2 (par exemple, « \file.txt »), la Combine méthode ajoute à path1 au lieu de retourner uniquement path2.

.NET Framework et .NET Core versions antérieures à 2.1 : la méthode ne permet pas d’interpréter tous les caractères non valides pour les Combine noms de répertoires et de fichiers, car vous pouvez utiliser ces caractères pour les caractères génériques de recherche. Par exemple, alors que Path.Combine("c:\\", "*.txt") peut être non valide si vous créez un fichier à partir de celui-ci, il est valide en tant que chaîne de recherche. Elle est donc correctement interprétée par la Combine méthode .

Pour obtenir la liste des tâches d’E/S courantes, consultez Tâches courantes d’E/S.

Voir aussi

S’applique à

Combine(String, String, String)

Source:
Path.cs
Source:
Path.cs
Source:
Path.cs

Combine trois chaînes en un chemin d'accès.

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

Paramètres

path1
String

Premier chemin d'accès à combiner.

path2
String

Deuxième chemin d'accès à combiner.

path3
String

Troisième chemin d'accès à combiner.

Retours

Chemins d'accès combinés.

Exceptions

.NET Framework et .NET Core versions antérieures à 2.1 : path1, path2ou path3 contient un ou plusieurs des caractères non valides définis dans GetInvalidPathChars().

path1, path2 ou path3 est null.

Exemples

L’exemple suivant combine trois chemins.

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)

Remarques

path1 doit être un chemin absolu (par exemple, « d:\archives » ou « \\archives\public »). Si path2 ou path3 est également un chemin absolu, l’opération combiner ignore tous les chemins précédemment combinés et réinitialise à ce chemin absolu.

Les chaînes de longueur nulle sont omises du chemin combiné.

Si path1 ou path2 n’est pas une référence de lecteur (c’est-à-dire , « C: » ou « D: ») et ne se termine pas par un caractère de séparation valide tel que défini dans DirectorySeparatorChar, AltDirectorySeparatorCharou VolumeSeparatorChar, DirectorySeparatorChar est ajouté à path1 ou path2 avant la concaténation. Notez que si path1 ou path2 se termine par un caractère séparateur de chemin qui n’est pas approprié pour la plateforme cible, la Combine méthode conserve le caractère séparateur de chemin d’accès d’origine et en ajoute un pris en charge. L’exemple suivant compare le résultat sur les systèmes Windows et Unix lorsque la barre oblique inverse est utilisée comme caractère séparateur de chemin.

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

Si path2 n’inclut pas de racine (par exemple, si path2 ne commence pas par un caractère séparateur ou une spécification de lecteur), le résultat est une concaténation des deux chemins, avec un caractère de séparation intermédiaire. Si path2 inclut une racine, path2 est retourné.

Les paramètres ne sont pas analysés s’ils ont des espaces blancs. Par conséquent, si path2 inclut des espaces blancs path2 (par exemple, « \file.txt »), la Combine méthode ajoute à path1.

.NET Framework et .NET Core versions antérieures à 2.1 : la méthode ne permet pas d’interpréter tous les caractères non valides pour les Combine noms de répertoires et de fichiers, car vous pouvez utiliser ces caractères pour les caractères génériques de recherche. Par exemple, alors que Path.Combine("c:\\", "*.txt") peut être non valide si vous créez un fichier à partir de celui-ci, il est valide en tant que chaîne de recherche. Elle est donc correctement interprétée par la Combine méthode .

Voir aussi

S’applique à

Combine(String, String, String, String)

Source:
Path.cs
Source:
Path.cs
Source:
Path.cs

Combine quatre chaînes en un chemin d'accès.

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

Paramètres

path1
String

Premier chemin d'accès à combiner.

path2
String

Deuxième chemin d'accès à combiner.

path3
String

Troisième chemin d'accès à combiner.

path4
String

Quatrième chemin d'accès à combiner.

Retours

Chemins d'accès combinés.

Exceptions

.NET Framework et .NET Core versions antérieures à 2.1 : path1, path2, path3ou path4 contient un ou plusieurs des caractères non valides définis dans GetInvalidPathChars().

path1, path2, path3 ou path4 a la valeur null.

Exemples

L’exemple suivant combine quatre chemins.

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)

Remarques

path1 doit être un chemin absolu (par exemple, « d:\archives » ou « \\archives\public »). Si l’un des chemins suivants est également un chemin absolu, l’opération combiner ignore tous les chemins précédemment combinés et réinitialise à ce chemin absolu.

Les chaînes de longueur nulle sont omises du chemin combiné.

Si path1, path2ou path3 n’est pas une référence de lecteur (c’est-à-dire , « C: » ou « D: ») et ne se termine pas par un caractère de séparation valide tel que défini dans DirectorySeparatorChar, AltDirectorySeparatorCharou VolumeSeparatorChar, DirectorySeparatorChar y est ajouté avant la concaténation. Notez que si path1, path2ou path3 se termine par un caractère séparateur de chemin qui n’est pas approprié pour la plateforme cible, la Combine méthode conserve le caractère séparateur de chemin d’accès d’origine et ajoute un caractère pris en charge. L’exemple suivant compare le résultat sur les systèmes Windows et Unix lorsque la barre oblique inverse est utilisée comme caractère séparateur de chemin.

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\

Si path2 n’inclut pas de racine (par exemple, si path2 ne commence pas par un caractère séparateur ou une spécification de lecteur), le résultat est une concaténation des deux chemins, avec un caractère de séparation intermédiaire. Si path2 inclut une racine, path2 est retourné.

Les paramètres ne sont pas analysés s’ils ont des espaces blancs. Par conséquent, si path2 inclut des espaces blancs path2 (par exemple, « \file.txt »), la Combine méthode ajoute à path1.

.NET Framework et .NET Core versions antérieures à 2.1 : la méthode ne permet pas d’interpréter tous les caractères non valides pour les Combine noms de répertoires et de fichiers, car vous pouvez utiliser ces caractères pour les caractères génériques de recherche. Par exemple, alors que Path.Combine("c:\\", "*.txt") peut être non valide si vous créez un fichier à partir de celui-ci, il est valide en tant que chaîne de recherche. Elle est donc correctement interprétée par la Combine méthode .

Voir aussi

S’applique à