Path.Combine Metode

Definisi

Menggabungkan string ke dalam jalur.

Overload

Combine(ReadOnlySpan<String>)

Menggabungkan rentang string ke dalam jalur.

Combine(String[])

Menggabungkan array string ke dalam jalur.

Combine(String, String)

Menggabungkan dua string ke dalam jalur.

Combine(String, String, String)

Menggabungkan tiga string ke dalam jalur.

Combine(String, String, String, String)

Menggabungkan empat string ke dalam jalur.

Keterangan

Metode ini dimaksudkan untuk menggabungkan string individual ke dalam satu string yang mewakili jalur file. Namun, jika argumen selain yang pertama berisi jalur berakar, komponen jalur sebelumnya diabaikan, dan string yang dikembalikan dimulai dengan komponen jalur berakar tersebut. Sebagai alternatif untuk metode Combine, pertimbangkan untuk menggunakan metode Join atau TryJoin.

Penting

Metode ini mengasumsikan bahwa argumen pertama adalah jalur absolut dan bahwa argumen atau argumen berikut adalah jalur relatif. Jika ini tidak terjadi, dan terutama jika ada argumen berikutnya adalah string yang dimasukkan oleh pengguna, panggil metode Join atau TryJoin sebagai gantinya.

Combine(ReadOnlySpan<String>)

Menggabungkan rentang string ke dalam jalur.

public static string Combine (scoped ReadOnlySpan<string> paths);

Parameter

paths
ReadOnlySpan<String>

Rentang bagian-bagian jalur.

Mengembalikan

Jalur gabungan.

Berlaku untuk

.NET 9
Produk Versi
.NET 9

Combine(String[])

Sumber:
Path.cs
Sumber:
Path.cs
Sumber:
Path.cs

Menggabungkan array string ke dalam jalur.

public static string Combine (params string[] paths);

Parameter

paths
String[]

Array bagian jalur.

Mengembalikan

Jalur gabungan.

Pengecualian

Versi .NET Framework dan .NET Core yang lebih lama dari 2.1: Salah satu string dalam array berisi satu atau beberapa karakter yang tidak valid yang ditentukan dalam GetInvalidPathChars().

Salah satu string dalam array adalah null.

Contoh

Contoh berikut menggabungkan array string ke dalam jalur.

string[] paths = {@"d:\archives", "2001", "media", "images"};
string fullPath = Path.Combine(paths);
Console.WriteLine(fullPath);

Keterangan

paths harus menjadi array dari bagian jalur yang akan digabungkan. Jika salah satu jalur berikutnya adalah jalur absolut, maka operasi gabungan diatur ulang dimulai dengan jalur absolut tersebut, membuang semua jalur gabungan sebelumnya.

Jika ada elemen dalam paths tetapi yang terakhir bukan drive dan tidak berakhir dengan karakter DirectorySeparatorChar atau AltDirectorySeparatorChar, metode Combine menambahkan karakter DirectorySeparatorChar antara elemen tersebut dan yang berikutnya. Perhatikan bahwa, jika elemen berakhir dengan karakter pemisah jalur yang tidak sesuai untuk platform target, metode Combine mempertahankan karakter pemisah jalur asli dan menambahkan yang didukung. Contoh berikut membandingkan hasil pada sistem berbasis Windows dan Unix ketika garis miring terbalik digunakan sebagai karakter pemisah jalur.

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

String dengan panjang nol dihilangkan dari jalur gabungan.

Parameter tidak diurai jika memiliki spasi kosong.

Versi .NET Framework dan .NET Core yang lebih lama dari 2.1: Tidak semua karakter yang tidak valid untuk direktori dan nama file ditafsirkan sebagai tidak dapat diterima oleh metode Combine, karena Anda dapat menggunakan karakter ini untuk karakter kartubebas pencarian. Misalnya, meskipun Path.Combine("c:\\", "*.txt") mungkin tidak valid jika Anda membuat file darinya, file tersebut valid sebagai string pencarian. Oleh karena itu berhasil ditafsirkan dengan metode Combine.

Lihat juga

Berlaku untuk

.NET 9 dan versi lainnya
Produk Versi
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Combine(String, String)

Sumber:
Path.cs
Sumber:
Path.cs
Sumber:
Path.cs

Menggabungkan dua string ke dalam jalur.

public static string Combine (string path1, string path2);

Parameter

path1
String

Jalur pertama untuk digabungkan.

path2
String

Jalur kedua untuk digabungkan.

Mengembalikan

Jalur gabungan. Jika salah satu jalur yang ditentukan adalah string panjang nol, metode ini mengembalikan jalur lainnya. Jika path2 berisi jalur absolut, metode ini mengembalikan path2.

Pengecualian

Versi .NET Framework dan .NET Core yang lebih lama dari 2.1: path1 atau path2 berisi satu atau beberapa karakter yang tidak valid yang ditentukan dalam GetInvalidPathChars().

path1 atau path2null.

Contoh

Contoh berikut menunjukkan menggunakan metode Combine di 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'

Keterangan

Jika path1 bukan referensi drive (yaitu, "C:" atau "D:") dan tidak berakhir dengan karakter pemisah yang valid seperti yang didefinisikan dalam DirectorySeparatorChar, AltDirectorySeparatorChar, atau VolumeSeparatorChar, DirectorySeparatorChar ditambahkan ke path1 sebelum penggabungan. Perhatikan bahwa jika path1 berakhir dengan karakter pemisah jalur yang tidak sesuai untuk platform target, metode Combine mempertahankan karakter pemisah jalur asli dan menambahkan yang didukung. Contoh berikut membandingkan hasil pada sistem berbasis Windows dan Unix ketika garis miring terbalik digunakan sebagai karakter pemisah jalur.

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

Jika path2 tidak menyertakan akar (misalnya, jika path2 tidak dimulai dengan karakter pemisah atau spesifikasi drive), hasilnya adalah perangkaian dari dua jalur, dengan karakter pemisah yang mengintervensi. Jika path2 menyertakan root, path2 dikembalikan.

Parameter tidak diurai jika memiliki spasi kosong. Oleh karena itu, jika path2 menyertakan spasi kosong (misalnya, " \file.txt "), metode Combine menambahkan path2 ke path1 alih-alih hanya mengembalikan path2.

Versi .NET Framework dan .NET Core yang lebih lama dari 2.1: Tidak semua karakter yang tidak valid untuk direktori dan nama file ditafsirkan sebagai tidak dapat diterima oleh metode Combine, karena Anda dapat menggunakan karakter ini untuk karakter kartubebas pencarian. Misalnya, meskipun Path.Combine("c:\\", "*.txt") mungkin tidak valid jika Anda membuat file darinya, file tersebut valid sebagai string pencarian. Oleh karena itu berhasil ditafsirkan dengan metode Combine.

Untuk daftar tugas I/O umum, lihat Tugas I/O Umum.

Lihat juga

Berlaku untuk

.NET 9 dan versi lainnya
Produk Versi
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Combine(String, String, String)

Sumber:
Path.cs
Sumber:
Path.cs
Sumber:
Path.cs

Menggabungkan tiga string ke dalam jalur.

public static string Combine (string path1, string path2, string path3);

Parameter

path1
String

Jalur pertama untuk digabungkan.

path2
String

Jalur kedua untuk digabungkan.

path3
String

Jalur ketiga untuk digabungkan.

Mengembalikan

Jalur gabungan.

Pengecualian

Versi .NET Framework dan .NET Core yang lebih lama dari 2.1: path1, path2, atau path3 berisi satu atau beberapa karakter yang tidak valid yang ditentukan dalam GetInvalidPathChars().

path1, path2, atau path3null.

Contoh

Contoh berikut menggabungkan tiga jalur.

string p1 = @"d:\archives\";
string p2 = "media";
string p3 = "images";
string combined = Path.Combine(p1, p2, p3);
Console.WriteLine(combined);

Keterangan

path1 harus berupa jalur absolut (misalnya, "d:\archives" atau "\archives\public"). Jika path2 atau path3 juga merupakan jalur absolut, operasi gabungan akan membuang semua jalur gabungan sebelumnya dan mengatur ulang ke jalur absolut tersebut.

String dengan panjang nol dihilangkan dari jalur gabungan.

Jika path1 atau path2 bukan referensi drive (yaitu, "C:" atau "D:") dan tidak berakhir dengan karakter pemisah yang valid seperti yang didefinisikan dalam DirectorySeparatorChar, AltDirectorySeparatorChar, atau VolumeSeparatorChar, DirectorySeparatorChar ditambahkan ke path1 atau path2 sebelum penggabungan. Perhatikan bahwa jika path1 atau path2 berakhir dengan karakter pemisah jalur yang tidak sesuai untuk platform target, metode Combine mempertahankan karakter pemisah jalur asli dan menambahkan yang didukung. Contoh berikut membandingkan hasil pada sistem berbasis Windows dan Unix ketika garis miring terbalik digunakan sebagai karakter pemisah jalur.

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

Jika path2 tidak menyertakan akar (misalnya, jika path2 tidak dimulai dengan karakter pemisah atau spesifikasi drive), hasilnya adalah perangkaian dari dua jalur, dengan karakter pemisah yang mengintervensi. Jika path2 menyertakan root, path2 dikembalikan.

Parameter tidak diurai jika memiliki spasi kosong. Oleh karena itu, jika path2 menyertakan spasi kosong (misalnya, " \file.txt "), metode Combine menambahkan path2 ke path1.

Versi .NET Framework dan .NET Core yang lebih lama dari 2.1: Tidak semua karakter yang tidak valid untuk direktori dan nama file ditafsirkan sebagai tidak dapat diterima oleh metode Combine, karena Anda dapat menggunakan karakter ini untuk karakter kartubebas pencarian. Misalnya, meskipun Path.Combine("c:\\", "*.txt") mungkin tidak valid jika Anda membuat file darinya, file tersebut valid sebagai string pencarian. Oleh karena itu berhasil ditafsirkan dengan metode Combine.

Lihat juga

Berlaku untuk

.NET 9 dan versi lainnya
Produk Versi
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Combine(String, String, String, String)

Sumber:
Path.cs
Sumber:
Path.cs
Sumber:
Path.cs

Menggabungkan empat string ke dalam jalur.

public static string Combine (string path1, string path2, string path3, string path4);

Parameter

path1
String

Jalur pertama untuk digabungkan.

path2
String

Jalur kedua untuk digabungkan.

path3
String

Jalur ketiga untuk digabungkan.

path4
String

Jalur keempat untuk digabungkan.

Mengembalikan

Jalur gabungan.

Pengecualian

Versi .NET Framework dan .NET Core yang lebih lama dari 2.1: path1, path2, path3, atau path4 berisi satu atau beberapa karakter yang tidak valid yang ditentukan dalam GetInvalidPathChars().

path1, path2, path3, atau path4null.

Contoh

Contoh berikut menggabungkan empat jalur.

string path1 = @"d:\archives\";
string path2 = "2001";
string path3 = "media";
string path4 = "images";
string combinedPath = Path.Combine(path1, path2, path3, path4);
Console.WriteLine(combinedPath);

Keterangan

path1 harus berupa jalur absolut (misalnya, "d:\archives" atau "\archives\public"). Jika salah satu jalur berikutnya juga merupakan jalur absolut, operasi gabungan akan membuang semua jalur gabungan sebelumnya dan mengatur ulang ke jalur absolut tersebut.

String dengan panjang nol dihilangkan dari jalur gabungan.

Jika path1, path2, atau path3 bukan referensi drive (yaitu, "C:" atau "D:") dan tidak diakhapi dengan karakter pemisah yang valid seperti yang didefinisikan dalam DirectorySeparatorChar, AltDirectorySeparatorChar, atau VolumeSeparatorChar, DirectorySeparatorChar ditambahkan ke dalamnya sebelum penggabungan. Perhatikan bahwa jika path1, path2, atau path3 berakhir dengan karakter pemisah jalur yang tidak sesuai untuk platform target, metode Combine mempertahankan karakter pemisah jalur asli dan menambahkan yang didukung. Contoh berikut membandingkan hasil pada sistem berbasis Windows dan Unix ketika garis miring terbalik digunakan sebagai karakter pemisah jalur.

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\

Jika path2 tidak menyertakan akar (misalnya, jika path2 tidak dimulai dengan karakter pemisah atau spesifikasi drive), hasilnya adalah perangkaian dari dua jalur, dengan karakter pemisah yang mengintervensi. Jika path2 menyertakan root, path2 dikembalikan.

Parameter tidak diurai jika memiliki spasi kosong. Oleh karena itu, jika path2 menyertakan spasi kosong (misalnya, " \file.txt "), metode Combine menambahkan path2 ke path1.

Versi .NET Framework dan .NET Core yang lebih lama dari 2.1: Tidak semua karakter yang tidak valid untuk direktori dan nama file ditafsirkan sebagai tidak dapat diterima oleh metode Combine, karena Anda dapat menggunakan karakter ini untuk karakter kartubebas pencarian. Misalnya, meskipun Path.Combine("c:\\", "*.txt") mungkin tidak valid jika Anda membuat file darinya, file tersebut valid sebagai string pencarian. Oleh karena itu berhasil ditafsirkan dengan metode Combine.

Lihat juga

Berlaku untuk

.NET 9 dan versi lainnya
Produk Versi
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1