Path.Join 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.
Overload
Join(String, String, String, String) |
Menggabungkan empat jalur ke dalam satu jalur. |
Join(ReadOnlySpan<Char>, ReadOnlySpan<Char>, ReadOnlySpan<Char>, ReadOnlySpan<Char>) |
Menggabungkan empat komponen jalur ke dalam satu jalur. |
Join(String, String, String) |
Menggabungkan tiga jalur ke dalam satu jalur. |
Join(ReadOnlySpan<Char>, ReadOnlySpan<Char>, ReadOnlySpan<Char>) |
Menggabungkan tiga komponen jalur ke dalam satu jalur. |
Join(ReadOnlySpan<String>) |
Menggabungkan rentang jalur ke dalam satu jalur. |
Join(ReadOnlySpan<Char>, ReadOnlySpan<Char>) |
Menggabungkan dua komponen jalur ke dalam satu jalur. |
Join(String[]) |
Menggabungkan array jalur ke dalam satu jalur. |
Join(String, String) |
Menggabungkan dua jalur ke dalam satu jalur. |
Join(String, String, String, String)
- Sumber:
- Path.cs
- Sumber:
- Path.cs
- Sumber:
- Path.cs
Menggabungkan empat jalur ke dalam satu jalur.
public:
static System::String ^ Join(System::String ^ path1, System::String ^ path2, System::String ^ path3, System::String ^ path4);
public static string Join (string? path1, string? path2, string? path3, string? path4);
static member Join : string * string * string * string -> string
Public Shared Function Join (path1 As String, path2 As String, path3 As String, path4 As String) As String
Parameter
- path1
- String
Jalur pertama untuk bergabung.
- path2
- String
Jalur kedua untuk bergabung.
- path3
- String
Jalur ketiga untuk bergabung.
- path4
- String
Jalur keempat untuk bergabung.
Mengembalikan
Jalur yang digabungkan.
Keterangan
Metode ini hanya menggabungkan path
, path2
, path3
dan path4
dan menambahkan karakter pemisah direktori antara salah satu komponen jalur jika belum ada. Jika panjang argumen path1
, path2
, path3
, atau path4
adalah nol, metode menggabungkan argumen yang tersisa. Jika panjang string yang digabungkan yang dihasilkan adalah nol, metode mengembalikan String.Empty.
Jika path1
atau path2
atau path3
berakhir dengan karakter pemisah jalur yang tidak sesuai untuk platform target, metode Join
mempertahankan karakter pemisah jalur asli dan menambahkan yang didukung. Masalah ini muncul di jalur yang dikodekan secara permanen yang menggunakan karakter garis miring terbalik Windows ("\"), yang tidak dikenali sebagai pemisah jalur pada sistem berbasis Unix. Untuk mengatasi masalah ini, Anda dapat:
Ambil nilai properti Path.DirectorySeparatorChar daripada pengodean keras karakter pemisah direktori.
Gunakan garis miring ("/") sebagai karakter pemisah direktori. Karakter ini dikembalikan oleh properti Path.DirectorySeparatorChar pada sistem berbasis Unix dan oleh properti Path.AltDirectorySeparatorChar pada sistem Windows.
Tidak seperti metode Combine, metode Join tidak mencoba untuk mengakar jalur yang dikembalikan. (Artinya, jika path2
atau path3
atau path4
adalah jalur absolut, metode Join
tidak membuang jalur sebelumnya seperti yang dilakukan metode Combine.)
Tidak semua karakter yang tidak valid untuk direktori dan nama file ditafsirkan sebagai tidak dapat diterima oleh metode Join
, karena Anda dapat menggunakan karakter ini untuk mencari karakter kartubebas. Misalnya, sementara Path.Join("c:\\", "temp", "*.txt")
mungkin tidak valid saat membuat file, file tersebut valid sebagai string pencarian. Oleh karena itu, metode Join
berhasil menafsirkannya.
Berlaku untuk
Join(ReadOnlySpan<Char>, ReadOnlySpan<Char>, ReadOnlySpan<Char>, ReadOnlySpan<Char>)
- Sumber:
- Path.cs
- Sumber:
- Path.cs
- Sumber:
- Path.cs
Menggabungkan empat komponen jalur ke dalam satu jalur.
public:
static System::String ^ Join(ReadOnlySpan<char> path1, ReadOnlySpan<char> path2, ReadOnlySpan<char> path3, ReadOnlySpan<char> path4);
public static string Join (ReadOnlySpan<char> path1, ReadOnlySpan<char> path2, ReadOnlySpan<char> path3, ReadOnlySpan<char> path4);
static member Join : ReadOnlySpan<char> * ReadOnlySpan<char> * ReadOnlySpan<char> * ReadOnlySpan<char> -> string
Public Shared Function Join (path1 As ReadOnlySpan(Of Char), path2 As ReadOnlySpan(Of Char), path3 As ReadOnlySpan(Of Char), path4 As ReadOnlySpan(Of Char)) As String
Parameter
- path1
- ReadOnlySpan<Char>
Rentang karakter yang berisi jalur pertama untuk bergabung.
- path2
- ReadOnlySpan<Char>
Rentang karakter yang berisi jalur kedua untuk bergabung.
- path3
- ReadOnlySpan<Char>
Rentang karakter yang berisi jalur ketiga untuk bergabung.
- path4
- ReadOnlySpan<Char>
Rentang karakter yang berisi jalur keempat untuk bergabung.
Mengembalikan
Jalur yang digabungkan.
Keterangan
Metode ini hanya menggabungkan path
, path2
, path3
dan path4
dan menambahkan karakter pemisah direktori antara salah satu komponen jalur jika belum ada. Jika Length argumen path1
, path2
, path3
, atau path4
adalah nol, metode menggabungkan argumen yang tersisa. Jika ReadOnlySpan<T>.Length dari semua komponen adalah nol, metode mengembalikan String.Empty.
Jika path1
atau path2
atau path3
berakhir dengan karakter pemisah jalur yang tidak sesuai untuk platform target, metode Join
mempertahankan karakter pemisah jalur asli dan menambahkan yang didukung. Masalah ini muncul di jalur yang dikodekan secara permanen yang menggunakan karakter garis miring terbalik Windows ("\"), yang tidak dikenali sebagai pemisah jalur pada sistem berbasis Unix. Untuk mengatasi masalah ini, Anda dapat:
Ambil nilai properti Path.DirectorySeparatorChar daripada pengodean keras karakter pemisah direktori.
Gunakan garis miring ("/") sebagai karakter pemisah direktori. Karakter ini dikembalikan oleh properti Path.DirectorySeparatorChar pada sistem berbasis Unix dan oleh properti Path.AltDirectorySeparatorChar pada sistem Windows.
Tidak seperti metode Combine, metode Join tidak mencoba untuk mengakar jalur yang dikembalikan. (Artinya, jika path2
atau path3
atau path4
adalah jalur absolut, metode Join
tidak membuang jalur sebelumnya seperti yang dilakukan metode Combine.)
Tidak semua karakter yang tidak valid untuk direktori dan nama file ditafsirkan sebagai tidak dapat diterima oleh metode Join
, karena Anda dapat menggunakan karakter ini untuk mencari karakter kartubebas. Misalnya, sementara Path.Join("c:\\", "temp", "*.txt")
mungkin tidak valid saat membuat file, file tersebut valid sebagai string pencarian. Oleh karena itu, metode Join
berhasil menafsirkannya.
Berlaku untuk
Join(String, String, String)
- Sumber:
- Path.cs
- Sumber:
- Path.cs
- Sumber:
- Path.cs
Menggabungkan tiga jalur ke dalam satu jalur.
public:
static System::String ^ Join(System::String ^ path1, System::String ^ path2, System::String ^ path3);
public static string Join (string? path1, string? path2, string? path3);
static member Join : string * string * string -> string
Public Shared Function Join (path1 As String, path2 As String, path3 As String) As String
Parameter
- path1
- String
Jalur pertama untuk bergabung.
- path2
- String
Jalur kedua untuk bergabung.
- path3
- String
Jalur ketiga untuk bergabung.
Mengembalikan
Jalur yang digabungkan.
Keterangan
Metode ini hanya menggabungkan path
, path2
, dan path3
dan menambahkan karakter pemisah direktori antara salah satu komponen jalur jika belum ada. Jika panjang argumen path1
, path2
, atau path3
adalah nol, metode menggabungkan argumen yang tersisa. Jika panjang string yang digabungkan yang dihasilkan adalah nol, metode mengembalikan String.Empty.
Jika path1
atau path2
berakhir dengan karakter pemisah jalur yang tidak sesuai untuk platform target, metode Join
mempertahankan karakter pemisah jalur asli dan menambahkan yang didukung. Masalah ini muncul di jalur yang dikodekan secara permanen yang menggunakan karakter garis miring terbalik Windows ("\"), yang tidak dikenali sebagai pemisah jalur pada sistem berbasis Unix. Untuk mengatasi masalah ini, Anda dapat:
Ambil nilai properti Path.DirectorySeparatorChar daripada pengodean keras karakter pemisah direktori.
Gunakan garis miring ("/") sebagai karakter pemisah direktori. Karakter ini dikembalikan oleh properti Path.DirectorySeparatorChar pada sistem berbasis Unix dan oleh properti Path.AltDirectorySeparatorChar pada sistem Windows.
Tidak seperti metode Combine, metode Join tidak mencoba untuk mengakar jalur yang dikembalikan. (Artinya, jika path2
atau path3
adalah jalur absolut, metode Join
tidak membuang jalur sebelumnya seperti yang dilakukan metode Combine.)
Tidak semua karakter yang tidak valid untuk direktori dan nama file ditafsirkan sebagai tidak dapat diterima oleh metode Join
, karena Anda dapat menggunakan karakter ini untuk mencari karakter kartubebas. Misalnya, sementara Path.Join("c:\\", "temp", "*.txt")
mungkin tidak valid saat membuat file, file tersebut valid sebagai string pencarian. Oleh karena itu, metode Join
berhasil menafsirkannya.
Berlaku untuk
Join(ReadOnlySpan<Char>, ReadOnlySpan<Char>, ReadOnlySpan<Char>)
- Sumber:
- Path.cs
- Sumber:
- Path.cs
- Sumber:
- Path.cs
Menggabungkan tiga komponen jalur ke dalam satu jalur.
public:
static System::String ^ Join(ReadOnlySpan<char> path1, ReadOnlySpan<char> path2, ReadOnlySpan<char> path3);
public static string Join (ReadOnlySpan<char> path1, ReadOnlySpan<char> path2, ReadOnlySpan<char> path3);
static member Join : ReadOnlySpan<char> * ReadOnlySpan<char> * ReadOnlySpan<char> -> string
Public Shared Function Join (path1 As ReadOnlySpan(Of Char), path2 As ReadOnlySpan(Of Char), path3 As ReadOnlySpan(Of Char)) As String
Parameter
- path1
- ReadOnlySpan<Char>
Rentang karakter yang berisi jalur pertama untuk bergabung.
- path2
- ReadOnlySpan<Char>
Rentang karakter yang berisi jalur kedua untuk bergabung.
- path3
- ReadOnlySpan<Char>
Rentang karakter yang berisi jalur ketiga untuk bergabung.
Mengembalikan
Jalur yang digabungkan.
Contoh
Contoh berikut mengilustrasikan perbedaan jalur yang dikembalikan oleh metode Path.Join(ReadOnlySpan<Char>, ReadOnlySpan<Char>, ReadOnlySpan<Char>) dan Path.Combine(String, String, String). Ketika string pertama adalah jalur yang sepenuhnya memenuhi syarat yang mencakup direktori drive dan root dan yang kedua adalah jalur relatif dari jalur pertama, kedua metode menghasilkan hasil yang identik. Dalam panggilan kedua dan ketiga ke metode ShowPathInformation
, string yang dikembalikan oleh dua metode berbeda. Dalam panggilan metode kedua, argumen string pertama adalah drive, sedangkan yang kedua adalah direktori berakar. Metode Join
menggabungkan dua string dan mempertahankan pemisah jalur duplikat. Panggilan ke metode GetFullPath akan menghilangkan duplikasi. Metode Combine
meninggalkan drive dan mengembalikan direktori berakar pada drive saat ini. Jika drive aplikasi saat ini adalah C:\ dan string digunakan untuk mengakses file atau file di direktori, itu akan mengakses C: alih-alih D:. Akhirnya, karena argumen akhir dalam panggilan ketiga ke ShowPathInformation
berakar, metode Join
hanya menambahkannya ke dua argumen pertama untuk membuat jalur file yang tidak masuk akal, sementara metode Combine
membuang dua string pertama dan mengembalikan yang ketiga. Menggunakan string ini untuk akses file dapat memberi aplikasi akses yang tidak diinginkan ke file sensitif.
using System;
using System.IO;
class Program3
{
static void Main()
{
ShowPathInformation("C:/", "users/user1/documents", "letters");
ShowPathInformation("D:/", "/users/user1/documents", "letters");
ShowPathInformation("D:/", "users/user1/documents", "C:/users/user1/documents/data");
}
private static void ShowPathInformation(string path1, string path2, string path3)
{
Console.WriteLine($"Concatenating '{path1}', '{path2}', and '{path3}'");
Console.WriteLine($" Path.Join: '{Path.Join(path1, path2, path3)}'");
Console.WriteLine($" Path.Combine: '{Path.Combine(path1, path2, path3)}'");
Console.WriteLine($" {Path.GetFullPath(Path.Join(path1, path2, path3))}");
}
}
// The example displays the following output if run on a Windows system:
// Concatenating 'C:/', 'users/user1/documents', and 'letters'
// Path.Join: 'C:/users/user1/documents\letters'
// Path.Combine: 'C:/users/user1/documents\letters'
// C:\users\user1\documents\letters
// Concatenating 'D:/', '/users/user1/documents', and 'letters'
// Path.Join: 'D://users/user1/documents\letters'
// Path.Combine: '/users/user1/documents\letters'
// D:\users\user1\documents\letters
// Concatenating 'D:/', 'users/user1/documents', and 'C:/users/user1/documents/data'
// Path.Join: 'D:/users/user1/documents\C:/users/user1/documents/data'
// Path.Combine: 'C:/users/user1/documents/data'
// D:\users\user1\documents\C:\users\user1\documents\data
Imports System.IO
Module Program
Public Sub Main()
Dim path1 As String = "C:/"
Dim path2 As String = "users/user1/documents"
Dim path3 As String = "letters"
ShowPathInformation(path1, path2, path3)
path1 = "D:/"
path2 = "/users/user1/documents"
path3 = "letters"
ShowPathInformation(path1, path2, path3)
path1 = "D:/"
path2 = "users/user1/documents"
path3 = "C:/users/user1/documents/data"
ShowPathInformation(path1, path2, path3)
End Sub
Private Sub ShowPathInformation(path1 As String, path2 As String, path3 As String)
Dim result = Path.Join(path1.AsSpan(), path2.AsSpan(), path3.AsSpan())
Console.WriteLine($"Concatenating '{path1}, '{path2}', and `{path3}'")
Console.WriteLine($" Path.Join: '{result}'")
Console.WriteLine($" Path.Combine: '{Path.Combine(path1, path2, path3)}'")
End Sub
End Module
' The example displays the following output if run on a Windows system:
' Concatenating 'C:/, 'users/user1/documents', and `letters'
' Path.Join: 'C:/users/user1/documents\letters'
' Path.Combine: 'C:/users/user1/documents\letters'
'
' Concatenating 'D:/, '/users/user1/documents', and `letters'
' Path.Join: 'D:'users/user1/documents\letters'
' Path.Combine: '/users/user1/documents\letters'
'
' Concatenating 'D:/, 'users/user1/documents', and `C:/users/user1/documents/data'
' Path.Join: 'D:/users/user1/documents\C:/users/user1/documents/data'
' Path.Combine: 'C:/users/user1/documents/data'
Keterangan
Metode ini hanya menggabungkan path
, path2
, dan path3
dan menambahkan karakter pemisah direktori antara salah satu komponen jalur jika belum ada. Jika Length argumen path1
, path2
, atau path3
adalah nol, metode menggabungkan argumen yang tersisa. Jika ReadOnlySpan<T>.Length dari semua komponen adalah nol, metode mengembalikan String.Empty.
Jika path1
atau path2
berakhir dengan karakter pemisah jalur yang tidak sesuai untuk platform target, metode Join
mempertahankan karakter pemisah jalur asli dan menambahkan yang didukung. Masalah ini muncul di jalur yang dikodekan secara permanen yang menggunakan karakter garis miring terbalik Windows ("\"), yang tidak dikenali sebagai pemisah jalur pada sistem berbasis Unix. Untuk mengatasi masalah ini, Anda dapat:
Ambil nilai properti Path.DirectorySeparatorChar daripada pengodean keras karakter pemisah direktori.
Gunakan garis miring ("/") sebagai karakter pemisah direktori. Karakter ini dikembalikan oleh properti Path.DirectorySeparatorChar pada sistem berbasis Unix dan oleh properti Path.AltDirectorySeparatorChar pada sistem Windows.
Tidak seperti metode Combine, metode Join tidak mencoba untuk mengakar jalur yang dikembalikan. (Artinya, jika path2
atau path3
adalah jalur absolut, metode Join
tidak membuang jalur sebelumnya seperti yang dilakukan metode Combine.)
Tidak semua karakter yang tidak valid untuk direktori dan nama file ditafsirkan sebagai tidak dapat diterima oleh metode Join
, karena Anda dapat menggunakan karakter ini untuk mencari karakter kartubebas. Misalnya, sementara Path.Join("c:\\", "temp", "*.txt")
mungkin tidak valid saat membuat file, file tersebut valid sebagai string pencarian. Oleh karena itu, metode Join
berhasil menafsirkannya.
Lihat juga
- format jalur file pada sistem Windows
Berlaku untuk
Join(ReadOnlySpan<String>)
Menggabungkan rentang jalur ke dalam satu jalur.
public:
static System::String ^ Join(ReadOnlySpan<System::String ^> paths);
public static string Join (scoped ReadOnlySpan<string?> paths);
static member Join : ReadOnlySpan<string> -> string
Public Shared Function Join (paths As ReadOnlySpan(Of String)) As String
Parameter
- paths
- ReadOnlySpan<String>
Rentang jalur.
Mengembalikan
Jalur yang digabungkan.
Berlaku untuk
Join(ReadOnlySpan<Char>, ReadOnlySpan<Char>)
- Sumber:
- Path.cs
- Sumber:
- Path.cs
- Sumber:
- Path.cs
Menggabungkan dua komponen jalur ke dalam satu jalur.
public:
static System::String ^ Join(ReadOnlySpan<char> path1, ReadOnlySpan<char> path2);
public static string Join (ReadOnlySpan<char> path1, ReadOnlySpan<char> path2);
static member Join : ReadOnlySpan<char> * ReadOnlySpan<char> -> string
Public Shared Function Join (path1 As ReadOnlySpan(Of Char), path2 As ReadOnlySpan(Of Char)) As String
Parameter
- path1
- ReadOnlySpan<Char>
Rentang karakter yang berisi jalur pertama untuk bergabung.
- path2
- ReadOnlySpan<Char>
Rentang karakter yang berisi jalur kedua untuk bergabung.
Mengembalikan
Jalur gabungan.
Contoh
Contoh berikut mengilustrasikan perbedaan jalur yang dikembalikan oleh metode Path.Join(ReadOnlySpan<Char>, ReadOnlySpan<Char>) dan Path.Combine(String, String). Ketika string pertama adalah jalur yang sepenuhnya memenuhi syarat yang mencakup direktori drive dan root dan yang kedua adalah jalur relatif dari jalur pertama, kedua metode menghasilkan hasil yang identik. Dalam panggilan kedua dan ketiga ke metode ShowPathInformation
, string yang dikembalikan oleh dua metode berbeda. Dalam panggilan metode kedua, argumen string pertama adalah drive, sedangkan yang kedua adalah direktori berakar. Metode Join
menggabungkan dua string dan mempertahankan pemisah jalur duplikat. Metode Combine
meninggalkan drive dan mengembalikan direktori berakar pada drive saat ini. Jika drive aplikasi saat ini adalah C:\ dan string digunakan untuk mengakses file atau file di direktori, itu akan mengakses C: alih-alih D:. Akhirnya, karena kedua argumen dalam panggilan ketiga ke ShowPathInformation
berakar, metode Join
hanya menambahkannya untuk membuat jalur file nonsensik, sementara metode Combine
membuang string pertama dan mengembalikan yang kedua. Menggunakan string ini untuk akses file dapat memberi aplikasi akses yang tidak diinginkan ke file sensitif.
using System;
using System.IO;
class Program2
{
static void Main()
{
var path1 = "C:/Program Files/";
var path2 = "Utilities/SystemUtilities";
ShowPathInformation(path1, path2);
path1 = "C:/";
path2 = "/Program Files";
ShowPathInformation(path1, path2);
path1 = "C:/Users/Public/Documents/";
path2 = "C:/Users/User1/Documents/Financial/";
ShowPathInformation(path1, path2);
}
private static void ShowPathInformation(string path1, string path2)
{
var result = Path.Join(path1.AsSpan(), path2.AsSpan());
Console.WriteLine($"Concatenating '{path1}' and '{path2}'");
Console.WriteLine($" Path.Join: '{result}'");
Console.WriteLine($" Path.Combine: '{Path.Combine(path1, path2)}'");
}
}
// The example displays the following output if run on a Windows system:
// Concatenating 'C:/Program Files/' and 'Utilities/SystemUtilities'
// Path.Join: 'C:/Program Files/Utilities/SystemUtilities'
// Path.Combine: 'C:/Program Files/Utilities/SystemUtilities'
//
// Concatenating 'C:/' and '/Program Files'
// Path.Join: 'C://Program Files'
// Path.Combine: '/Program Files'
//
// Concatenating 'C:/Users/Public/Documents/' and 'C:/Users/User1/Documents/Financial/'
// Path.Join: 'C:/Users/Public/Documents/C:/Users/User1/Documents/Financial/'
// Path.Combine: 'C:/Users/User1/Documents/Financial/'
Imports System.IO
Module Example
Public Sub Main()
Dim path1 = "C:/Program Files/"
Dim path2 = "Utilities/SystemUtilities"
ShowPathInformation(path1, path2)
path1 = "C:/"
path2 = "/Program Files"
ShowPathInformation(path1, path2)
path1 = "C:/Users/Public/Documents/"
path2 = "C:/Users/User1/Documents/Financial/"
ShowPathInformation(path1, path2)
End Sub
Private Sub ShowPathInformation(path1 As String, path2 As String)
Dim result = Path.Join(path1.AsSpan(), path2.AsSpan())
Console.WriteLine($"Concatenating '{path1}' and '{path2}'")
Console.WriteLine($" Path.Join: '{result}'")
Console.WriteLine($" Path.Combine: '{Path.Combine(path1, path2)}'")
Console.WriteLine()
End Sub
End Module
' The example displays the following output if run on a Windows system:
' Concatenating 'C:/Program Files/' and 'Utilities/SystemUtilities'
' Path.Join: 'C:/Program Files/Utilities/SystemUtilities'
' Path.Combine: 'C:/Program Files/Utilities/SystemUtilities'
'
' Concatenating 'C:/' and '/Program Files'
' Path.Join: 'C:'Program Files'
' Path.Combine: '/Program Files'
'
' Concatenating 'C:/Users/Public/Documents/' and 'C:/Users/User1/Documents/Financial/'
' Path.Join: 'C:/Users/Public/Documents/C:/Users/User1/Documents/Financial/'
' Path.Combine: 'C:/Users/User1/Documents/Financial/'
Keterangan
Metode ini hanya menggabungkan path
dan path2
dan menambahkan karakter pemisah direktori antara dua komponen jalur jika belum ada di akhir path1
atau awal path2
. Jika Lengthpath1
atau path2
nol, metode mengembalikan jalur lain. Jika Lengthpath1
dan path2
adalah nol, metode mengembalikan String.Empty.
Jika path1
berakhir dengan karakter pemisah jalur yang tidak sesuai untuk platform target, metode Join
mempertahankan karakter pemisah jalur asli dan menambahkan yang didukung. Masalah ini muncul di jalur yang dikodekan secara permanen yang menggunakan karakter garis miring terbalik Windows ("\"), yang tidak dikenali sebagai pemisah jalur pada sistem berbasis Unix. Untuk mengatasi masalah ini, Anda dapat:
Ambil nilai properti Path.DirectorySeparatorChar daripada pengodean keras karakter pemisah direktori.
Gunakan garis miring ("/") sebagai karakter pemisah direktori. Karakter ini dikembalikan oleh properti Path.DirectorySeparatorChar pada sistem berbasis Unix dan oleh properti Path.AltDirectorySeparatorChar pada sistem Windows.
Tidak seperti metode Combine, metode Join tidak mencoba untuk mengakar jalur yang dikembalikan. (Artinya, jika path2
adalah jalur absolut, metode Join
tidak membuang path1
dan mengembalikan path2
seperti yang dilakukan metode Combine.) Contoh berikut mengilustrasikan perbedaan jalur yang dikembalikan oleh dua metode. Jika sumber path2
adalah input pengguna, metode Combine memungkinkan pengguna untuk mengakses sumber daya sistem file (seperti C:/Users/User1/Documents/Financial/ dalam kasus contoh) yang tidak ingin diakses oleh aplikasi.
Tidak semua karakter yang tidak valid untuk direktori dan nama file ditafsirkan sebagai tidak dapat diterima oleh metode Join
, karena Anda dapat menggunakan karakter ini untuk mencari karakter kartubebas. Misalnya, sementara Path.Join("c:\\", "*.txt")
mungkin tidak valid saat membuat file, file tersebut valid sebagai string pencarian. Oleh karena itu, metode Join
berhasil menafsirkannya.
Lihat juga
- format jalur file pada sistem Windows
Berlaku untuk
Join(String[])
- Sumber:
- Path.cs
- Sumber:
- Path.cs
- Sumber:
- Path.cs
Menggabungkan array jalur ke dalam satu jalur.
public:
static System::String ^ Join(... cli::array <System::String ^> ^ paths);
public static string Join (params string?[] paths);
static member Join : string[] -> string
Public Shared Function Join (ParamArray paths As String()) As String
Parameter
- paths
- String[]
Array jalur.
Mengembalikan
Jalur yang digabungkan.
Keterangan
Metode ini hanya menggabungkan semua string dalam paths
dan menambahkan karakter pemisah direktori di antara salah satu komponen jalur jika belum ada. Jika Length salah satu jalur dalam paths
adalah nol, metode menggabungkan argumen yang tersisa. Jika panjang string yang digabungkan yang dihasilkan adalah nol, metode mengembalikan String.Empty.
Jika salah satu jalur di paths
, kecuali yang terakhir, berakhir dengan karakter pemisah jalur yang tidak sesuai untuk platform target, metode Join
mempertahankan karakter pemisah jalur asli dan menambahkan yang didukung. Masalah ini muncul di jalur yang dikodekan secara permanen yang menggunakan karakter garis miring terbalik Windows ("\"), yang tidak dikenali sebagai pemisah jalur pada sistem berbasis Unix. Untuk mengatasi masalah ini, Anda dapat:
Ambil nilai properti Path.DirectorySeparatorChar daripada pengodean keras karakter pemisah direktori.
Gunakan garis miring ("/") sebagai karakter pemisah direktori. Karakter ini dikembalikan oleh properti Path.DirectorySeparatorChar pada sistem berbasis Unix dan oleh properti Path.AltDirectorySeparatorChar pada sistem Windows.
Tidak seperti metode Combine, metode Join tidak mencoba untuk mengakar jalur yang dikembalikan. (Artinya, jika salah satu jalur di paths
, kecuali yang pertama, adalah jalur absolut, metode Join
tidak membuang jalur sebelumnya seperti yang dilakukan metode Combine.)
Tidak semua karakter yang tidak valid untuk direktori dan nama file ditafsirkan sebagai tidak dapat diterima oleh metode Join
, karena Anda dapat menggunakan karakter ini untuk mencari karakter kartubebas. Misalnya, sementara Path.Join("c:\\", "temp", "*.txt")
mungkin tidak valid saat membuat file, file tersebut valid sebagai string pencarian. Oleh karena itu, metode Join
berhasil menafsirkannya.
Berlaku untuk
Join(String, String)
- Sumber:
- Path.cs
- Sumber:
- Path.cs
- Sumber:
- Path.cs
Menggabungkan dua jalur ke dalam satu jalur.
public:
static System::String ^ Join(System::String ^ path1, System::String ^ path2);
public static string Join (string? path1, string? path2);
static member Join : string * string -> string
Public Shared Function Join (path1 As String, path2 As String) As String
Parameter
- path1
- String
Jalur pertama untuk bergabung.
- path2
- String
Jalur kedua untuk bergabung.
Mengembalikan
Jalur yang digabungkan.
Keterangan
Metode ini hanya menggabungkan path
dan path2
dan menambahkan karakter pemisah direktori antara salah satu komponen jalur jika belum ada. Jika panjang path1
atau path2
adalah nol, metode menggabungkan argumen yang tersisa. Jika panjang string yang digabungkan yang dihasilkan adalah nol, metode mengembalikan String.Empty.
Jika path1
berakhir dengan karakter pemisah jalur yang tidak sesuai untuk platform target, metode Join
mempertahankan karakter pemisah jalur asli dan menambahkan yang didukung. Masalah ini muncul di jalur yang dikodekan secara permanen yang menggunakan karakter garis miring terbalik Windows ("\"), yang tidak dikenali sebagai pemisah jalur pada sistem berbasis Unix. Untuk mengatasi masalah ini, Anda dapat:
Ambil nilai properti Path.DirectorySeparatorChar daripada pengodean keras karakter pemisah direktori.
Gunakan garis miring ("/") sebagai karakter pemisah direktori. Karakter ini dikembalikan oleh properti Path.DirectorySeparatorChar pada sistem berbasis Unix dan oleh properti Path.AltDirectorySeparatorChar pada sistem Windows.
Tidak seperti metode Combine, metode Join tidak mencoba untuk mengakar jalur yang dikembalikan. (Artinya, jika path2
adalah jalur absolut, metode Join
tidak membuang jalur sebelumnya seperti yang dilakukan metode Combine.)
Tidak semua karakter yang tidak valid untuk direktori dan nama file ditafsirkan sebagai tidak dapat diterima oleh metode Join
, karena Anda dapat menggunakan karakter ini untuk mencari karakter kartubebas. Misalnya, sementara Path.Join("c:\\", "temp", "*.txt")
mungkin tidak valid saat membuat file, file tersebut valid sebagai string pencarian. Oleh karena itu, metode Join
berhasil menafsirkannya.