2013-06-03 58 views
12

Tôi có một đường dẫn và tôi muốn thêm vào nó một số thư mục con mới có tên là kiểm tra. Hãy giúp tôi tìm hiểu cách thực hiện điều đó. Mã của tôi là:Thêm dấu gạch chéo ngược vào chuỗi

string path = Environment.GetFolderPath(Environment.SpecialFolder.MyPictures); 
Console.WriteLine(path+"\test"); 

Kết quả tôi nhận được là: "c: \ Users \ My Name \ Hình est"

Xin hãy giúp tôi tìm hiểu một cách đúng đắn.

+0

\ t là một tab hoặc sử dụng \\ t hoặc sử dụng con đường + @ "\ test" – trinalbadger587

Trả lời

29

Đừng cố gắng tạo tên đường dẫn nối chuỗi. Sử dụng phương pháp Path.Combine

string path = Environment.GetFolderPath(Environment.SpecialFolder.MyPictures); 
Console.WriteLine(Path.Combine(path, "test")); 

Các Path class chứa nhiều phương pháp tĩnh hữu ích để xử lý chuỗi chứa đường dẫn, tên file và phần mở rộng. Lớp này rất hữu ích để tránh nhiều lỗi phổ biến và cũng cho phép mã cho khả năng di chuyển tốt hơn giữa các hệ điều hành ("\" trên chiến thắng "/" trên Linux)

Lớp Đường dẫn được xác định trong không gian tên System.IO.
Bạn cần thêm using System.IO; vào mã của mình

+0

Đồng ý - sử dụng khuôn khổ, đó là lý do tại sao nó ở đó. –

18

Bạn cần thoát khỏi nó. \t là trình tự thoát cho các tab 0x09.

path + "\\test"

hoặc sử dụng:

path + @"\test"

Hơn thế nữa, chúng ta hãy Path.Combine làm công việc bẩn cho bạn:

Path.Combine(path, "test");

Path nằm trong namespace System.IO.

7

Có hai lựa chọn:

  1. Sử dụng các biểu tượng @ ví dụ: đường dẫn + @ "\ test"
  2. sử dụng một đôi dấu chéo ngược ví dụ: đường dẫn + "\\ test"
3

Dấu gạch chéo ngược '\' là ký tự thoát cho chuỗi trong C#. Bạn có thể:

  • sử dụng Path.Combine

    Path.Combine(path, "test"); 
    
  • thoát khỏi nhân vật chạy thoát.

    Console.WriteLine(path+"\\test"); 
    
  • sử dụng chuỗi chữ đúng nguyên văn.

    Console.WriteLine(path + @"\test"); 
    
0

dấu chéo ngược là một nhân vật chạy thoát, vì vậy sử dụng
Console.WriteLine(path+"\\test");
hoặc
Console.WriteLine([email protected]"\test");

Các vấn đề liên quan