我在c#application
中遇到过这种情况我的窗口中有2条路径
C:\ Projectos \ FrameworkCS \ CSoft.Core C:\ Projectos2 \ CSoft.Core
我需要获得与第一个相关的第二个相关路径,如下所示:
.. \ .. \ Projectos2 \ CSoft.Core
存在一种在c#中执行此操作的方法,或者某个功能可以帮助我
答案 0 :(得分:5)
Uri first = new Uri(@"C:\Projectos2\CSoft.Core");
Uri second = new Uri(@"C:\Projectos\FrameworkCS\CSoft.Core ");
string relativePath = second.MakeRelativeUri(first).ToString();
结果:
"../../Projectos2/CSoft.Core"
答案 1 :(得分:0)
我可能会通过使用'\'作为分隔符将两者分开来解决这个问题。然后,我会计算相同的数组项,以获得我的共同纽带。然后我将使用目标数组中的其余项构建目标路径,并通过计算源中的其余项来构建.. \ string。
加入.. \与CSoft.Core给你.. \ CSoft.Core
附录:我没有意识到你可以使用URI.MakeRelativePath()方法 - 如果已经在其他地方完成了,请不要重新发明轮子。