Fenomena pelik dalam laluan .NET: kembar sengkang belakang
Apabila menyemak laluan C#, pembangun mungkin menghadapi fenomena yang tidak dijangka: garis miring ke belakang tambahan () dilampirkan pada laluan. Ini boleh menyebabkan kekeliruan dan ketidakpastian apabila memanipulasi atau menghuraikan laluan.
Penjelasan: Keluaran urutan pelarian
Sebab garis serong ke belakang berulang adalah sifat watak sengkang terbalik itu sendiri. Dalam C#, garis miring ke belakang () ialah watak melarikan diri, yang bermaksud ia mempunyai makna yang istimewa. Apabila digunakan dalam rentetan, garis miring ke belakang menunjukkan bahawa aksara berikut harus dilayan secara berbeza.
Dalam kes laluan, garis miring ke belakang digunakan untuk memisahkan komponen laluan. Walau bagaimanapun, garis miring ke belakang itu sendiri perlu dielakkan untuk mengelakkannya daripada disalahtafsirkan sebagai pemisah laluan. Itulah sebabnya garis miring terbalik kedua muncul.
Sengkang terbalik pertama () bertindak sebagai watak melarikan diri, mengarahkan pengkompil untuk menganggap sengkang terbalik kedua (
\
) sebagai pemisah laluan sebenar. Oleh itu, C:\Test
mewakili laluan C:Test
, dengan garis miring ke belakang pertama mendahului huruf "T" untuk memastikan ia dianggap sebahagian daripada laluan dan bukan watak melarikan diri.
Gunakan aksara melarikan diri untuk menghapuskan kekeliruan
Untuk menjelaskan lebih lanjut, berikut ialah senarai aksara melarikan diri yang biasa digunakan dalam C#:
\'
: petikan tunggal (untuk literal aksara) \"
: petikan berganda (untuk literal rentetan) \
: sengkang ke belakang
\a
\f
\n
\r
\t
\v
Manipulasi Laluan: Buat Keputusan Slash Dengan Mudah
Split
Walaupun terdapat garis miring ke belakang tambahan, manipulasi laluan masih mudah menggunakan kaedah rentetan seperti \
. Urutan
<code class="language-csharp">string path = @"C:\Test"; string[] parts = path.Split('\'); Console.WriteLine(parts[0]); // 输出:C: Console.WriteLine(parts[1]); // 输出:Test</code>
Atas ialah kandungan terperinci Mengapa Laluan C# Saya Mempunyai Sebatan Ke Belakang Tambahan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!