Path.Combine Path.Combine Path.Combine Path.Combine Method

Definition

Kombiniert Zeichenfolgen zu einem Pfad.Combines strings into a path.

Überlädt

Combine(String[]) Combine(String[]) Combine(String[]) Combine(String[])

Kombiniert ein Array von Zeichenfolgen zu einem Pfad.Combines an array of strings into a path.

Combine(String, String) Combine(String, String) Combine(String, String) Combine(String, String)

Kombiniert zwei Zeichenfolgen zu einem Pfad.Combines two strings into a path.

Combine(String, String, String) Combine(String, String, String) Combine(String, String, String) Combine(String, String, String)

Kombiniert drei Zeichenfolgen zu einem Pfad.Combines three strings into a path.

Combine(String, String, String, String) Combine(String, String, String, String) Combine(String, String, String, String) Combine(String, String, String, String)

Kombiniert vier Zeichenfolgen zu einem Pfad.Combines four strings into a path.

Hinweise

Diese Methode ist für die Verkettung einzelner Zeichen folgen zu einer einzelnen Zeichenfolge vorgesehen, die einen Dateipfad darstellt.This method is intended to concatenate individual strings into a single string that represents a file path. Wenn jedoch ein anderes Argument als das erste einen Rootpfad enthält, werden alle vorherigen Pfad Komponenten ignoriert, und die zurückgegebene Zeichenfolge beginnt mit der Stamm Pfadkomponente.However, if an argument other than the first contains a rooted path, any previous path components are ignored, and the returned string begins with that rooted path component. Als Alternative zur Combine -Methode sollten Sie die-Methode Join oder TryJoin die-Methode verwenden.As an alternative to the Combine method, consider using the Join or TryJoin methods.

Wichtig

Bei dieser Methode wird davon ausgegangen, dass das erste Argument ein absoluter Pfad ist und dass es sich bei den folgenden Argumenten um relative Pfade handelt.This method assumes that the first argument is an absolute path and that the following argument or arguments are relative paths. Wenn dies nicht der Fall ist, und insbesondere, wenn nachfolgende Argumente vom Benutzer Zeichen folgen eingegeben werden, sollten Join Sie TryJoin stattdessen die-Methode oder die-Methode verwenden.If this is not the case, and particularly if any subsequent arguments are strings input by the user, call the Join or TryJoin method instead.

Combine(String[]) Combine(String[]) Combine(String[]) Combine(String[])

Kombiniert ein Array von Zeichenfolgen zu einem Pfad.Combines an array of strings into a path.

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

Parameter

paths
String[]

Ein Array der Teile des Pfads.An array of parts of the path.

Gibt zurück

Die kombinierten Pfade.The combined paths.

Ausnahmen

Eine der Zeichenfolgen im Array enthält eines oder mehrere der ungültigen Zeichen, die in GetInvalidPathChars() definiert sind.One of the strings in the array contains one or more of the invalid characters defined in GetInvalidPathChars().

Eine der Zeichenfolgen im Array ist null.One of the strings in the array is null.

Beispiele

Im folgenden Beispiel wird ein Array von Zeichen folgen zu einem Pfad kombiniert.The following example combines an array of strings into a path.

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)

Hinweise

pathsmuss ein Array der zu kombinierenden Teile des Pfads sein.paths should be an array of the parts of the path to combine. Wenn es sich bei einem der nachfolgenden Pfade um einen absoluten Pfad handelt, wird die Kombination aus dem absoluten Pfad zurückgesetzt, wobei alle vorherigen kombinierten Pfade verworfen werden.If the one of the subsequent paths is an absolute path, then the combine operation resets starting with that absolute path, discarding all previous combined paths.

Wenn ein beliebiges paths Element in, aber das letzte kein Laufwerk ist und nicht mit dem DirectorySeparatorChar -oder dem AltDirectorySeparatorChar -Zeichen endet, Combine fügt die Methode DirectorySeparatorChar ein Zeichen zwischen diesem und dem nächsten-Element hinzu.If any element in paths but the last one is not a drive and does not end with either the DirectorySeparatorChar or the AltDirectorySeparatorChar character, the Combine method adds a DirectorySeparatorChar character between that element and the next one. Beachten Sie Folgendes: Wenn das Element mit einem Pfad Trennzeichen endet, das für die Zielplattform nicht geeignet ist Combine , behält die Methode das ursprüngliche Pfad Trennzeichen bei und fügt eine unterstützte ein.Note that, if the element ends in a path separator character that is not appropriate for the target platform, the Combine method preserves the original path separator character and appends a supported one. Im folgenden Beispiel wird das Ergebnis auf Windows-und UNIX-basierten Systemen verglichen, wenn der umgekehrte Schrägstrich als Pfad Trennzeichen verwendet wird.The following example compares the result on Windows and Unix-based systems when the backslash is used as a path separator character.

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    

Zeichen folgen der Länge 0 (null) werden im kombinierten Pfad weggelassen.Zero-length strings are omitted from the combined path.

Die Parameter werden nicht analysiert, wenn Sie Leerzeichen enthalten.The parameters are not parsed if they have white space.

Nicht alle ungültigen Zeichen für Verzeichnis-und Dateinamen werden von der Combine -Methode als nicht zulässig interpretiert, da Sie diese Zeichen für Such Platzhalter Zeichen verwenden können.Not all invalid characters for directory and file names are interpreted as unacceptable by the Combine method, because you can use these characters for search wildcard characters. Wenn z Path.Combine("c:\\", "*.txt") . b. ungültig ist, wenn Sie eine Datei aus der Datei erstellen, ist Sie als Such Zeichenfolge gültig.For example, while Path.Combine("c:\\", "*.txt") might be invalid if you were to create a file from it, it is valid as a search string. Daher wird Sie von der Combine -Methode erfolgreich interpretiert.It is therefore successfully interpreted by the Combine method.

Siehe auch

Combine(String, String) Combine(String, String) Combine(String, String) Combine(String, String)

Kombiniert zwei Zeichenfolgen zu einem Pfad.Combines two strings into a path.

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

Parameter

path1
String String String String

Der erste zu kombinierende Pfad.The first path to combine.

path2
String String String String

Der zweite zu kombinierende Pfad.The second path to combine.

Gibt zurück

Die kombinierten Pfade.The combined paths. Wenn einer der beiden angegebenen Pfade eine Zeichenfolge der Länge 0 ist, gibt diese Methode den anderen Pfad zurück.If one of the specified paths is a zero-length string, this method returns the other path. Wenn path2 einen absoluten Pfad enthält, gibt diese Methode path2 zurück.If path2 contains an absolute path, this method returns path2.

Ausnahmen

path1 oder path2 enthält mindestens eines der in GetInvalidPathChars() definierten ungültigen Zeichen.path1 or path2 contains one or more of the invalid characters defined in GetInvalidPathChars().

Beispiele

Im folgenden Beispiel wird die Verwendung Combine der-Methode auf einer Windows-basierten Desktop Plattform veranschaulicht.The following example demonstrates using the Combine method on a Windows-based desktop platform.

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 = "";
        string path6 = null;

        CombinePaths(path1, path2);
        CombinePaths(path1, path3);
        CombinePaths(path3, path2);
        CombinePaths(path4, path2);
        CombinePaths(path5, path2);
        CombinePaths(path6, path2);
    }

    private static 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 == null)
                p1 = "null";
            if (p2 == null)
                p2 = "null";
            Console.WriteLine("You cannot combine '{0}' and '{1}' because: {2}{3}",
                        p1, p2, Environment.NewLine, e.Message);
        }

        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'
// 
// You cannot combine '' and 'subdir\file.txt' because: 
// Value cannot be null.
// Parameter name: path1
Imports System
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 'Main

    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 'CombinePaths
End Class 'ChangeExtensionTest
' 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

Hinweise

Wenn path1 kein Laufwerks Verweis ist (d. h. "C:" oder "D:") und nicht mit einem gültigen Trennzeichen endet, wie in DirectorySeparatorChar, AltDirectorySeparatorCharoder VolumeSeparatorChardefiniert, DirectorySeparatorChar wird vor der path1 Verkettung an angehängt.If path1 is not a drive reference (that is, "C:" or "D:") and does not end with a valid separator character as defined in DirectorySeparatorChar, AltDirectorySeparatorChar, or VolumeSeparatorChar, DirectorySeparatorChar is appended to path1 before concatenation. Beachten Sie, path1 dass die Combine Methode das ursprüngliche Pfad Trennzeichen beibehält und einen unterstützten Pfad anfügt, wenn in einem Pfad Trennzeichen endet, das für die Zielplattform nicht geeignet ist.Note that if path1 ends in a path separator character that is not appropriate for the target platform, the Combine method preserves the original path separator character and appends a supported one. Im folgenden Beispiel wird das Ergebnis auf Windows-und UNIX-basierten Systemen verglichen, wenn der umgekehrte Schrägstrich als Pfad Trennzeichen verwendet wird.The following example compares the result on Windows and Unix-based systems when the backslash is used as a path separator character.

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        

Wenn path2 keinen Stamm enthält (z. b. Wenn path2 nicht mit einem Trennzeichen oder einer Laufwerk Spezifikation beginnt), ist das Ergebnis eine Verkettung der beiden Pfade mit einem dazwischen liegenden Trennzeichen.If path2 does not include a root (for example, if path2 does not start with a separator character or a drive specification), the result is a concatenation of the two paths, with an intervening separator character. Wenn path2 einen Stamm enthält, path2 wird zurückgegeben.If path2 includes a root, path2 is returned.

Die Parameter werden nicht analysiert, wenn Sie Leerzeichen enthalten.The parameters are not parsed if they have white space. Wenn path2 z. b. Leerzeichen (z. b. "\file.txt") Combine enthält, wird die path1 Methode path2 an angefügt path2, anstatt nur zurückzugeben.Therefore, if path2 includes white space (for example, " \file.txt "), the Combine method appends path2 to path1 instead of returning only path2.

Nicht alle ungültigen Zeichen für Verzeichnis-und Dateinamen werden von der Combine -Methode als nicht zulässig interpretiert, da Sie diese Zeichen für Such Platzhalter Zeichen verwenden können.Not all invalid characters for directory and file names are interpreted as unacceptable by the Combine method, because you can use these characters for search wildcard characters. Wenn z Path.Combine("c:\\", "*.txt") . b. ungültig ist, wenn Sie eine Datei aus der Datei erstellen, ist Sie als Such Zeichenfolge gültig.For example, while Path.Combine("c:\\", "*.txt") might be invalid if you were to create a file from it, it is valid as a search string. Daher wird Sie von der Combine -Methode erfolgreich interpretiert.It is therefore successfully interpreted by the Combine method.

Eine Liste der allgemeinen e/a-Aufgaben finden Sie unter Allgemeine e/a-Aufgaben.For a list of common I/O tasks, see Common I/O Tasks.

Siehe auch

Combine(String, String, String) Combine(String, String, String) Combine(String, String, String) Combine(String, String, String)

Kombiniert drei Zeichenfolgen zu einem Pfad.Combines three strings into a path.

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

Parameter

path1
String String String String

Der erste zu kombinierende Pfad.The first path to combine.

path2
String String String String

Der zweite zu kombinierende Pfad.The second path to combine.

path3
String String String String

Der dritte zu kombinierende Pfad.The third path to combine.

Gibt zurück

Die kombinierten Pfade.The combined paths.

Ausnahmen

path1, path2 oder path3 enthält mindestens ein ungültiges Zeichen gemäß der Definition in GetInvalidPathChars().path1, path2, or path3 contains one or more of the invalid characters defined in GetInvalidPathChars().

path1, path2 oder path3 ist null.path1, path2, or path3 is null.

Beispiele

Im folgenden Beispiel werden drei Pfade kombiniert.The following example combines three paths.

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)

Hinweise

path1sollte ein absoluter Pfad sein (z. b. "d:\archive" oder\"\archives\public").path1 should be an absolute path (for example, "d:\archives" or "\\archives\public"). Wenn path2 oderpath3 auch ein absoluter Pfad ist, verwirft der Combine-Vorgang alle zuvor kombinierten Pfade und setzt auf diesen absoluten Pfad zurück.If path2 or path3 is also an absolute path, the combine operation discards all previously combined paths and resets to that absolute path.

Zeichen folgen der Länge 0 (null) werden im kombinierten Pfad weggelassen.Zero-length strings are omitted from the combined path.

Wenn path1 oder AltDirectorySeparatorChar DirectorySeparatorChar DirectorySeparatorChar path1 VolumeSeparatorCharkein Laufwerks Verweis ist (d. h. "C:" oder "D:") und nicht mit einem gültigen Trennzeichen endet, wie in, oder definiert, wird an oder angehängt. path2 path2 vor der Verkettung.If path1 or path2 is not a drive reference (that is, "C:" or "D:") and does not end with a valid separator character as defined in DirectorySeparatorChar, AltDirectorySeparatorChar, or VolumeSeparatorChar, DirectorySeparatorChar is appended to path1 or path2 before concatenation. Beachten Sie, path1 dass path2 die Combine Methode das ursprüngliche Pfad Trennzeichen beibehält und ein unterstütztes Pfad Trennzeichen anfügt, wenn Sie in einem Pfad Trennzeichen endet, das für die Zielplattform nicht geeignet ist.Note that if path1 or path2 ends in a path separator character that is not appropriate for the target platform, the Combine method preserves the original path separator character and appends a supported one. Im folgenden Beispiel wird das Ergebnis auf Windows-und UNIX-basierten Systemen verglichen, wenn der umgekehrte Schrägstrich als Pfad Trennzeichen verwendet wird.The following example compares the result on Windows and Unix-based systems when the backslash is used as a path separator character.

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      

Wenn path2 keinen Stamm enthält (z. b. Wenn path2 nicht mit einem Trennzeichen oder einer Laufwerk Spezifikation beginnt), ist das Ergebnis eine Verkettung der beiden Pfade mit einem dazwischen liegenden Trennzeichen.If path2 does not include a root (for example, if path2 does not start with a separator character or a drive specification), the result is a concatenation of the two paths, with an intervening separator character. Wenn path2 einen Stamm enthält, path2 wird zurückgegeben.If path2 includes a root, path2 is returned.

Die Parameter werden nicht analysiert, wenn Sie Leerzeichen enthalten.The parameters are not parsed if they have white space. Wenn path2 z. b. Leerzeichen (z. b. "\file.txt") Combine enthält, wird die path1-Methode path2 an angefügt.Therefore, if path2 includes white space (for example, " \file.txt "), the Combine method appends path2 to path1.

Nicht alle ungültigen Zeichen für Verzeichnis-und Dateinamen werden von der Combine -Methode als nicht zulässig interpretiert, da Sie diese Zeichen für Such Platzhalter Zeichen verwenden können.Not all invalid characters for directory and file names are interpreted as unacceptable by the Combine method, because you can use these characters for search wildcard characters. Wenn z Path.Combine("c:\\", "*.txt") . b. ungültig ist, wenn Sie eine Datei aus der Datei erstellen, ist Sie als Such Zeichenfolge gültig.For example, while Path.Combine("c:\\", "*.txt") might be invalid if you were to create a file from it, it is valid as a search string. Daher wird Sie von der Combine -Methode erfolgreich interpretiert.It is therefore successfully interpreted by the Combine method.

Siehe auch

Combine(String, String, String, String) Combine(String, String, String, String) Combine(String, String, String, String) Combine(String, String, String, String)

Kombiniert vier Zeichenfolgen zu einem Pfad.Combines four strings into a path.

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

Parameter

path1
String String String String

Der erste zu kombinierende Pfad.The first path to combine.

path2
String String String String

Der zweite zu kombinierende Pfad.The second path to combine.

path3
String String String String

Der dritte zu kombinierende Pfad.The third path to combine.

path4
String String String String

Der vierte zu kombinierende Pfad.The fourth path to combine.

Gibt zurück

Die kombinierten Pfade.The combined paths.

Ausnahmen

path1, path2, path3 oder path4 enthält mindestens ein ungültiges Zeichen gemäß der Definition in GetInvalidPathChars().path1, path2, path3, or path4 contains one or more of the invalid characters defined in GetInvalidPathChars().

path1, path2, path3 oder path4 ist null.path1, path2, path3, or path4 is null.

Beispiele

Im folgenden Beispiel werden vier Pfade kombiniert.The following example combines four paths.

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)

Hinweise

path1sollte ein absoluter Pfad sein (z. b. "d:\archive" oder\"\archives\public"). Wenn einer der nachfolgenden Pfade ebenfalls ein absoluter Pfad ist, verwirft der Combine-Vorgang alle zuvor kombinierten Pfade und setzt auf diesen absoluten Pfad zurück.path1 should be an absolute path (for example, "d:\archives" or "\\archives\public").If one of the subsequent paths is also an absolute path, the combine operation discards all previously combined paths and resets to that absolute path.

Zeichen folgen der Länge 0 (null) werden im kombinierten Pfad weggelassen.Zero-length strings are omitted from the combined path.

Wenn path1, AltDirectorySeparatorChar DirectorySeparatorChar VolumeSeparatorChar DirectorySeparatorChar oder kein Laufwerks Verweis ist (d. h. "C:" oder "D:") und nicht mit einem gültigen Trennzeichen endet, wie in, oder definiert, wird an das Zeichen angehängt. path3 path2 vor der Verkettung.If path1, path2, or path3 is not a drive reference (that is, "C:" or "D:") and does not end with a valid separator character as defined in DirectorySeparatorChar, AltDirectorySeparatorChar, or VolumeSeparatorChar, DirectorySeparatorChar is appended to it before concatenation. Beachten Sie Folgendes path1: path2wenn, path3 oder mit einem Pfad Trennzeichen endet, das für die Zielplattform nicht geeignet ist Combine , behält die Methode das ursprüngliche Pfad Trennzeichen bei und fügt eine unterstützte ein.Note that if path1, path2, or path3 ends in a path separator character that is not appropriate for the target platform, the Combine method preserves the original path separator character and appends a supported one. Im folgenden Beispiel wird das Ergebnis auf Windows-und UNIX-basierten Systemen verglichen, wenn der umgekehrte Schrägstrich als Pfad Trennzeichen verwendet wird.The following example compares the result on Windows and Unix-based systems when the backslash is used as a path separator character.

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\      

Wenn path2 keinen Stamm enthält (z. b. Wenn path2 nicht mit einem Trennzeichen oder einer Laufwerk Spezifikation beginnt), ist das Ergebnis eine Verkettung der beiden Pfade mit einem dazwischen liegenden Trennzeichen.If path2 does not include a root (for example, if path2 does not start with a separator character or a drive specification), the result is a concatenation of the two paths, with an intervening separator character. Wenn path2 einen Stamm enthält, path2 wird zurückgegeben.If path2 includes a root, path2 is returned.

Die Parameter werden nicht analysiert, wenn Sie Leerzeichen enthalten.The parameters are not parsed if they have white space. Wenn path2 z. b. Leerzeichen (z. b. "\file.txt") Combine enthält, wird die path1-Methode path2 an angefügt.Therefore, if path2 includes white space (for example, " \file.txt "), the Combine method appends path2 to path1.

Nicht alle ungültigen Zeichen für Verzeichnis-und Dateinamen werden von der Combine -Methode als nicht zulässig interpretiert, da Sie diese Zeichen für Such Platzhalter Zeichen verwenden können.Not all invalid characters for directory and file names are interpreted as unacceptable by the Combine method, because you can use these characters for search wildcard characters. Wenn z Path.Combine("c:\\", "*.txt") . b. ungültig ist, wenn Sie eine Datei aus der Datei erstellen, ist Sie als Such Zeichenfolge gültig.For example, while Path.Combine("c:\\", "*.txt") might be invalid if you were to create a file from it, it is valid as a search string. Daher wird Sie von der Combine -Methode erfolgreich interpretiert.It is therefore successfully interpreted by the Combine method.

Siehe auch

Gilt für: