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(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 ini Combine
, pertimbangkan untuk menggunakan Join metode atau TryJoin .
Penting
Metode ini mengasumsikan bahwa argumen pertama adalah jalur absolut dan argumen atau argumen berikut adalah jalur relatif. Jika ini tidak terjadi, dan terutama jika argumen berikutnya adalah string yang dimasukkan oleh pengguna, panggil Join metode atau TryJoin sebagai gantinya.
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
.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 untuk digabungkan. Jika salah satu jalur berikutnya adalah jalur absolut, maka operasi gabungan direset dimulai dengan jalur absolut tersebut, membuang semua jalur gabungan sebelumnya.
Jika ada elemen di paths
tetapi yang terakhir bukan drive dan tidak diakhir dengan DirectorySeparatorChar karakter atau AltDirectorySeparatorChar , Combine
metode menambahkan DirectorySeparatorChar karakter antara elemen tersebut dan yang berikutnya. Perhatikan bahwa, jika elemen berakhir dengan karakter pemisah jalur yang tidak sesuai untuk platform target, Combine
metode 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 panjang nol dihilangkan dari jalur gabungan.
Parameter tidak diurai jika memiliki spasi kosong.
.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 Combine
metode , karena Anda dapat menggunakan karakter ini untuk mencari karakter kartubebas. 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 Combine
metode .
Lihat juga
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
.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
adalah null
.
Contoh
Contoh berikut menunjukkan menggunakan metode pada Combine
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, , AltDirectorySeparatorCharatau VolumeSeparatorChar, DirectorySeparatorChar ditambahkan ke path1
sebelum penggabungan. Perhatikan bahwa jika path1
berakhir dengan karakter pemisah jalur yang tidak sesuai untuk platform target, Combine
metode 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 "), Combine metode ditambahkan path2
ke path1
alih-alih hanya path2
mengembalikan .
.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 Combine
metode , karena Anda dapat menggunakan karakter ini untuk mencari karakter kartubebas. 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 Combine
metode .
Untuk daftar tugas I/O umum, lihat Tugas I/O Umum.
Lihat juga
- Format jalur file pada sistem Windows
- I/O File dan Aliran
- 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
.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
adalah 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 membuang semua jalur gabungan sebelumnya dan mengatur ulang ke jalur absolut tersebut.
String 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, , AltDirectorySeparatorCharatau VolumeSeparatorChar, DirectorySeparatorChar ditambahkan ke path1
atau path2
sebelum perangkaian. Perhatikan bahwa jika path1
atau path2
berakhir dengan karakter pemisah jalur yang tidak sesuai untuk platform target, Combine
metode 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 "), Combine metode ditambahkan path2
ke path1
.
.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 Combine
metode , karena Anda dapat menggunakan karakter ini untuk mencari karakter kartubebas. 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 Combine
metode .
Lihat juga
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
.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
adalah 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 panjang nol dihilangkan dari jalur gabungan.
Jika path1
, path2
, atau path3
bukan referensi drive (yaitu, "C:" atau "D:") dan tidak berakhir dengan karakter pemisah yang valid seperti yang didefinisikan dalam , , AltDirectorySeparatorCharatau VolumeSeparatorChar, DirectorySeparatorChar ditambahkan ke dalamnya DirectorySeparatorCharsebelum perangkaian. Perhatikan bahwa jika path1
, path2
, atau path3
berakhir dengan karakter pemisah jalur yang tidak sesuai untuk platform target, Combine
metode 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 "), Combine metode ditambahkan path2
ke path1
.
.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 Combine
metode , karena Anda dapat menggunakan karakter ini untuk mencari karakter kartubebas. 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 Combine
metode .
Lihat juga
Berlaku untuk
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk