Path.Combine Metódus

Definíció

Sztringeket egyesít egy elérési úton.

Túlterhelések

Name Description
Combine(ReadOnlySpan<String>)

Sztringek sorozatát egyesíti egy elérési úton.

Combine(String[])

Sztringtömböt egyesít egy elérési úton.

Combine(String, String)

Két sztringet egyesít egy elérési úton.

Combine(String, String, String)

Három sztringet egyesít egy elérési úton.

Combine(String, String, String, String)

Négy sztringet egyesít egy elérési úton.

Megjegyzések

Ez a módszer arra szolgál, hogy egyes sztringeket egyetlen, a fájl elérési útját jelképező sztringbe fűzjön össze. Ha azonban az első argumentumtól eltérő argumentum gyökerezett elérési utat tartalmaz, a rendszer figyelmen kívül hagyja a korábbi elérésiút-összetevőket, és a visszaadott sztring ezzel a gyökerezett elérésiút-összetevővel kezdődik. A Combine metódus alternatívaként fontolja meg a Join vagy TryJoin metódus használatát (.NET Keretrendszerben nem érhető el).

Important

Ez a módszer feltételezi, hogy az első argumentum abszolút elérési út, és az alábbi argumentumok vagy argumentumok relatív elérési utak. Ha nem ez a helyzet, és különösen, ha a következő argumentumok a felhasználó által bevitt sztringek, hívja meg inkább a metódust vagy Join a metódustTryJoin.

Combine(ReadOnlySpan<String>)

Forrás:
Path.cs
Forrás:
Path.cs
Forrás:
Path.cs

Sztringek sorozatát egyesíti egy elérési úton.

public:
 static System::String ^ Combine(ReadOnlySpan<System::String ^> paths);
public static string Combine(scoped ReadOnlySpan<string> paths);
static member Combine : ReadOnlySpan<string> -> string
Public Shared Function Combine (paths As ReadOnlySpan(Of String)) As String

Paraméterek

paths
ReadOnlySpan<String>

Az elérési út egy része.

Válaszok

Az egyesített útvonalak.

A következőre érvényes:

Combine(String[])

Forrás:
Path.cs
Forrás:
Path.cs
Forrás:
Path.cs
Forrás:
Path.cs
Forrás:
Path.cs

Sztringtömböt egyesít egy elérési úton.

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éterek

paths
String[]

Az elérési út részeinek tömbje.

Válaszok

Az egyesített útvonalak.

Kivételek

.NET Framework és .NET Core 2.1-nél régebbi verziói: A tömb egyik sztringje a GetInvalidPathChars()-ben definiált érvénytelen karakterek közül egy vagy több érvénytelen karaktert tartalmaz.

A tömb egyik sztringje a .null

Példák

Az alábbi példa egy sztringtömböt egyesít egy elérési úton.

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)

Megjegyzések

paths az egyesítendő elérési út részeinek tömbjének kell lennie. Ha a következő útvonalak egyike abszolút elérési út, akkor az összevonási művelet ezzel az abszolút elérési úttal kezdődik, és elveti az összes korábbi kombinált útvonalat.

Ha az utolsó elem paths nem meghajtó, és nem végződik sem a DirectorySeparatorCharAltDirectorySeparatorChar karakterrel, Combine a metódus hozzáad egy karaktert DirectorySeparatorChar az elem és a következő elem közé. Vegye figyelembe, hogy ha az elem olyan elérésiút-elválasztó karakterrel végződik, amely nem felel meg a célplatformnak, a Combine metódus megőrzi az eredeti elérésiút-elválasztó karaktert, és hozzáfűz egy támogatott karaktert. Az alábbi példa Windows és Unix-alapú rendszerek eredményét hasonlítja össze, ha a fordított perjelet elérési útelválasztó karakterként használják.

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

A nulla hosszúságú sztringek nincsenek megadva a kombinált elérési útból.

A paraméterek nem lesznek elemezve, ha szabad területük van.

.NET Framework és .NET Core 2.1-nél régebbi verziói: A Combine metódus nem minden érvénytelen karaktert értelmez, mert ezeket a karaktereket helyettesítő karakterek kereséséhez használhatja. Ha például egy fájlt szeretne létrehozni belőle, Path.Combine("c:\\", "*.txt") érvénytelen lehet, de keresési sztringként érvényes. Ezért a metódus sikeresen értelmezi Combine .

Lásd még

A következőre érvényes:

Combine(String, String)

Forrás:
Path.cs
Forrás:
Path.cs
Forrás:
Path.cs
Forrás:
Path.cs
Forrás:
Path.cs

Két sztringet egyesít egy elérési úton.

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éterek

path1
String

Az első egyesítési útvonal.

path2
String

A második egyesítési útvonal.

Válaszok

Az egyesített útvonalak. Ha a megadott elérési utak egyike nulla hosszúságú sztring, ez a metódus a másik elérési utat adja vissza. Ha path2 abszolút elérési utat tartalmaz, ez a metódus ad vissza path2.

Kivételek

.NET Framework és .NET Core 2.1-nél régebbi verziói: path1 vagy path2 a GetInvalidPathChars()-ben definiált érvénytelen karakterek közül egyet vagy többet tartalmaz.

path1 vagy path2 az null.

Példák

Az alábbi példa a Combine metódus használatát mutatja be Windows.

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

Megjegyzések

Ha path1 nem meghajtóhivatkozás (azaz "C:" vagy "D:"), és nem végződik érvényes elválasztó karakterrel DirectorySeparatorCharAltDirectorySeparatorCharVolumeSeparatorCharDirectorySeparatorCharpath1 az összefűzés előtt. Vegye figyelembe, hogy ha path1 a célplatformhoz nem megfelelő elérésiút-elválasztó karakterrel végződik, a Combine metódus megőrzi az eredeti elérésiút-elválasztó karaktert, és hozzáfűzi a támogatott karaktert. Az alábbi példa Windows és Unix-alapú rendszerek eredményét hasonlítja össze, ha a fordított perjelet elérési útelválasztó karakterként használják.

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

Ha path2 nem tartalmaz gyökért (például ha path2 nem egy elválasztó karakterrel vagy egy meghajtó specifikációjával kezdődik), az eredmény a két elérési út összefűzése, egy beavatkozó elválasztó karakterrel. Ha path2 tartalmaz egy gyökért, path2 a függvény visszaadja.

A paraméterek nem lesznek elemezve, ha szabad területük van. Ezért ha path2 szóközt tartalmaz (például " \file.txt "), akkor a Combine metódus nem csak path2a visszatérést path1 adja path2 vissza.

.NET Framework és .NET Core 2.1-nél régebbi verziói: A Combine metódus nem minden érvénytelen karaktert értelmez, mert ezeket a karaktereket helyettesítő karakterek kereséséhez használhatja. Ha például egy fájlt szeretne létrehozni belőle, Path.Combine("c:\\", "*.txt") érvénytelen lehet, de keresési sztringként érvényes. Ezért a metódus sikeresen értelmezi Combine .

A gyakori I/O-feladatok listáját a Gyakori I/O-feladatok című témakörben találja.

Lásd még

A következőre érvényes:

Combine(String, String, String)

Forrás:
Path.cs
Forrás:
Path.cs
Forrás:
Path.cs
Forrás:
Path.cs
Forrás:
Path.cs

Három sztringet egyesít egy elérési úton.

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éterek

path1
String

Az első egyesítési útvonal.

path2
String

A második egyesítési útvonal.

path3
String

A harmadik egyesítési útvonal.

Válaszok

Az egyesített útvonalak.

Kivételek

.NET Framework és .NET Core 2.1-nél régebbi verziói: path1, path2 vagy path3 a GetInvalidPathChars() fájlban definiált érvénytelen karakterek közül egyet vagy többet tartalmaz.

path1, path2vagy path3 igen null.

Példák

Az alábbi példa három elérési utat egyesít.

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)

Megjegyzések

path1 abszolút elérési útnak kell lennie (például "d:\archives" vagy "\\archives\public"). Ha path2 vagy path3 abszolút elérési út, az összevonási művelet elveti az összes korábban egyesített elérési utat, és visszaáll erre az abszolút elérési útra.

A nulla hosszúságú sztringek nincsenek megadva a kombinált elérési útból.

Ha path1 nem meghajtóhivatkozás (azaz "C:" vagy "D:"), és nem végződik érvényes elválasztó karakterrel az összefűzésben vagy összefűzés path2DirectorySeparatorChar előtt megadottak AltDirectorySeparatorCharVolumeSeparatorCharDirectorySeparatorCharpath1szerint.path2 Vegye figyelembe, hogy ha path1path2 a célplatformnak nem megfelelő elérésiút-elválasztó karakterrel végződik vagy végződik, a Combine metódus megőrzi az eredeti elérésiút-elválasztó karaktert, és hozzáfűzi a támogatott karaktert. Az alábbi példa Windows és Unix-alapú rendszerek eredményét hasonlítja össze, ha a fordított perjelet elérési útelválasztó karakterként használják.

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

Ha path2 nem tartalmaz gyökért (például ha path2 nem egy elválasztó karakterrel vagy egy meghajtó specifikációjával kezdődik), az eredmény a két elérési út összefűzése, egy beavatkozó elválasztó karakterrel. Ha path2 tartalmaz egy gyökért, path2 a függvény visszaadja.

A paraméterek nem lesznek elemezve, ha szabad területük van. Ezért ha path2 szóközt (például " \file.txt ") tartalmaz, a metódus hozzáfűzi Combine a path2 következőhözpath1: .

.NET Framework és .NET Core 2.1-nél régebbi verziói: A Combine metódus nem minden érvénytelen karaktert értelmez, mert ezeket a karaktereket helyettesítő karakterek kereséséhez használhatja. Ha például egy fájlt szeretne létrehozni belőle, Path.Combine("c:\\", "*.txt") érvénytelen lehet, de keresési sztringként érvényes. Ezért a metódus sikeresen értelmezi Combine .

Lásd még

A következőre érvényes:

Combine(String, String, String, String)

Forrás:
Path.cs
Forrás:
Path.cs
Forrás:
Path.cs
Forrás:
Path.cs
Forrás:
Path.cs

Négy sztringet egyesít egy elérési úton.

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éterek

path1
String

Az első egyesítési útvonal.

path2
String

A második egyesítési útvonal.

path3
String

A harmadik egyesítési útvonal.

path4
String

A negyedik egyesítési útvonal.

Válaszok

Az egyesített útvonalak.

Kivételek

.NET Framework és .NET Core 2.1-nél régebbi verziói: path1, path2, path3 vagy path4 a GetInvalidPathChars()-ben definiált érvénytelen karakterek közül egyet vagy többet tartalmaz.

path1, path2, path3vagy path4 igen null.

Példák

Az alábbi példa négy elérési utat egyesít.

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)

Megjegyzések

path1 abszolút elérési útnak kell lennie (például "d:\archives" vagy "\\archives\public"). Ha a következő útvonalak egyike szintén abszolút elérési út, az összevonási művelet elveti az összes korábban egyesített elérési utat, és visszaállítja azt az abszolút elérési útra.

A nulla hosszúságú sztringek nincsenek megadva a kombinált elérési útból.

Ha path1a , path2vagy path3 nem meghajtóhivatkozás (azaz "C:" vagy "D:"), és nem végződik érvényes elválasztó karakterrel DirectorySeparatorCharAltDirectorySeparatorCharVolumeSeparatorCharDirectorySeparatorChar az összefűzés előtt. Vegye figyelembe, hogy ha path1a path2 célplatformhoz path3nem megfelelő elérésiút-elválasztó karakterrel végződik vagy végződik, a Combine metódus megőrzi az eredeti elérésiút-elválasztó karaktert, és hozzáfűzi a támogatott karaktert. Az alábbi példa Windows és Unix-alapú rendszerek eredményét hasonlítja össze, ha a fordított perjelet elérési útelválasztó karakterként használják.

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\

Ha path2 nem tartalmaz gyökért (például ha path2 nem egy elválasztó karakterrel vagy egy meghajtó specifikációjával kezdődik), az eredmény a két elérési út összefűzése, egy beavatkozó elválasztó karakterrel. Ha path2 tartalmaz egy gyökért, path2 a függvény visszaadja.

A paraméterek nem lesznek elemezve, ha szabad területük van. Ezért ha path2 szóközt (például " \file.txt ") tartalmaz, a metódus hozzáfűzi Combine a path2 következőhözpath1: .

.NET Framework és .NET Core 2.1-nél régebbi verziói: A Combine metódus nem minden érvénytelen karaktert értelmez, mert ezeket a karaktereket helyettesítő karakterek kereséséhez használhatja. Ha például egy fájlt szeretne létrehozni belőle, Path.Combine("c:\\", "*.txt") érvénytelen lehet, de keresési sztringként érvényes. Ezért a metódus sikeresen értelmezi Combine .

Lásd még

A következőre érvényes: