Path.Combine Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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 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
Parameter
- paths
- ReadOnlySpan<String>
Rentang bagian-bagian jalur.
Mengembalikan
Jalur gabungan.
Berlaku untuk
Combine(String[])
- Sumber:
- Path.cs
- Sumber:
- Path.cs
- Sumber:
- Path.cs
Menggabungkan array string ke dalam jalur.
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[]
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);
Dim paths As String() = {"d:\archives", "2001", "media", "images"}
Dim fullPath As String = 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
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
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
- format jalur file pada sistem Windows
Berlaku untuk
Combine(String, String)
- Sumber:
- Path.cs
- Sumber:
- Path.cs
- Sumber:
- Path.cs
Menggabungkan dua string ke dalam jalur.
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
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 path2
null
.
Contoh
Contoh berikut menunjukkan menggunakan metode Combine
di 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
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
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
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
- format jalur file pada sistem Windows
- I/O File dan Stream
- Cara: Membaca Teks dari File
- Cara: Menulis Teks ke File
Berlaku untuk
Combine(String, String, String)
- Sumber:
- Path.cs
- Sumber:
- Path.cs
- Sumber:
- Path.cs
Menggabungkan tiga string ke dalam jalur.
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
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 path3
null
.
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);
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)
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
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
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
- format jalur file pada sistem Windows
Berlaku untuk
Combine(String, String, String, String)
- Sumber:
- Path.cs
- Sumber:
- Path.cs
- Sumber:
- Path.cs
Menggabungkan empat string ke dalam jalur.
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
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 path4
null
.
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);
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)
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\
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\
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
- format jalur file pada sistem Windows