【发布时间】:2021-07-10 15:36:00
【问题描述】:
使用“..”跳转一级是文件系统导航最古老的功能 - 每个命令行实用程序都支持它! (是的,感谢 OS shell) 但是当你使用 Path.Combine() 时,它就像一个愚蠢的字符串连接器!示例:
Path.Combine(@"c:\abc\def", @"..\XYZ")
显然我们期望c:\abc\XYZ,而实际结果是c:\abc\def\..\XYZ。如果它对基本文件夹语法一无所知,那么将 Combine() 嵌入到 Path 类中的原因是什么?同样的方式它可以被编码为 String.Combine()。
是否有任何 .NET 解决方案可以正确处理路径连接?
【问题讨论】: