2014-11-19 19 views
8

Tôi có một thư mục đó trông giống như sau:Làm cách nào để có được thư mục cuối cùng từ chuỗi đường dẫn?

C:\Users\me\Projects\ 

Trong ứng dụng của tôi, tôi gắn liền với các con đường mà một tên dự án đưa ra:

C:\Users\me\Projects\myProject 

Sau đó, tôi muốn để có thể vượt qua mà vào một phương pháp. Bên trong phương pháp này, tôi cũng muốn sử dụng tên dự án. Cách tốt nhất để phân tích chuỗi đường dẫn để lấy tên thư mục cuối cùng là gì?

Tôi biết một công việc xung quanh sẽ là để vượt qua đường dẫn và tên dự án vào chức năng, nhưng tôi đã hy vọng tôi có thể giới hạn nó vào một tham số.

+2

bạn đã thử gì chưa? – Haris

+0

. Tôi đã tìm kiếm xung quanh và tìm thấy một số câu hỏi tương tự nhưng không thể tìm thấy một trong đó đã làm những gì tôi cần. Giả định tốt nhất của tôi là lớp 'Path' có một phương thức cho điều này, nhưng tôi không biết cái gì. – AdamMc331

+2

Chỉ sử dụng một tham số không nhất thiết là giải pháp tốt hơn. –

Trả lời

30

Bạn có thể làm:

string dirName = new DirectoryInfo(@"C:\Users\me\Projects\myProject\").Name; 

Hoặc sử dụng Path.GetFileName như (với một chút hack):

string dirName2 = Path.GetFileName(
       @"C:\Users\me\Projects\myProject".TrimEnd(Path.DirectorySeparatorChar)); 

Path.GetFileName trả về tên tập tin từ đường dẫn, nếu con đường được chấm dứt với \ thì nó sẽ trả về một chuỗi rỗng, đó là lý do tại sao tôi đã sử dụng TrimEnd(Path.DirectorySeparatorChar)

+0

Phương thức DirectoryInfo đã hoạt động. Tôi nghĩ đó là phương pháp ưa thích? Cảm ơn! – AdamMc331

+0

Cả hai đều nên làm việc, nhưng IMO, có 'DirectoryInfo' là sạch hơn và truyền đạt ý định rõ ràng hơn. – Habib

+0

Tôi thích 'DirectoryInfo' vì tôi thấy rằng nó hoạt động bất kể nó có bị chấm dứt bằng' \\ 'hay không. Nó không nên, trong ứng dụng của tôi, nhưng tôi đã thử nghiệm nó cả hai cách chỉ trong trường hợp. Nó trông sạch hơn, quá. – AdamMc331

1
string path = @"C:\Users\me\Projects\myProject"; 
string result = System.IO.Path.GetFileName(path); 

kết quả = myProject

+4

Điều này sẽ không hoạt động nếu đường dẫn kết thúc bằng dấu gạch chéo ngược như '" \ Users \ me \ Projects \ myProject \ "' – Habib

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