ฉันพบว่าตัวแปรSystem.IO.Path.Combine(myPath, "..")
ที่ง่ายและน่าเชื่อถือที่สุด ยิ่งไปกว่านั้นหากสิ่งที่ northben พูดเป็นความจริง GetParent นั้นต้องการการเรียกพิเศษหากมีเครื่องหมายทับ สำหรับฉันแล้วมันไม่น่าเชื่อถือ
Path.Combine ทำให้แน่ใจว่าคุณจะไม่ผิดพลาดด้วยเครื่องหมายทับ
..
ทำงานเหมือนกับที่อื่น ๆ ใน Windows คุณสามารถเพิ่มไฟล์\..
ในเส้นทางใน cmd หรือ explorer และมันจะทำงานตามที่ฉันอธิบายไว้ด้านล่าง
..
พฤติกรรมพื้นฐานบางประการ:
- หากมีชื่อไฟล์
..
จะตัดออก:
Path.Combine(@"D:\Grandparent\Parent\Child.txt", "..")
=> D:\Grandparent\Parent\
- หากพา ธ เป็นไดเร็กทอรี
..
จะเลื่อนระดับขึ้น:
Path.Combine(@"D:\Grandparent\Parent\", "..")
=> D:\Grandparent\
..\..
ปฏิบัติตามกฎเดียวกันสองครั้งติดต่อกัน:
Path.Combine(@"D:\Grandparent\Parent\Child.txt", @"..\..")
=> D:\Grandparent\
Path.Combine(@"D:\Grandparent\Parent\", @"..\..")
=>D:\
- และสิ่งนี้มีผลเหมือนกัน:
Path.Combine(@"D:\Grandparent\Parent\Child.txt", "..", "..")
=> D:\Grandparent\
Path.Combine(@"D:\Grandparent\Parent\", "..", "..")
=>D:\