如何在C#中获取一条路径到另一条路径的相对路径

我希望有一个内置的.NET方法来做到这一点,但是我没有找到它。

我有两条路径,我知道是在同一个根驱动器,我想要能够从一个到另一个相对路径。

string path1 = @"c:\dir1\dir2\";
string path2 = @"c:\dir1\dir3\file1.txt";
string relPath = MysteryFunctionThatShouldExist(path1, path2); 
// relPath == "..\dir3\file1.txt"

这个功能是否存在?如果不是最好的方式来实现呢?

Uri作品:

Uri path1 = new Uri(@"c:\dir1\dir2\");
Uri path2 = new Uri(@"c:\dir1\dir3\file1.txt");
Uri diff = path1.MakeRelativeUri(path2);
string relPath = diff.OriginalString;
http://stackoverflow.com/questions/1766748/how-do-i-get-a-relative-path-from-one-path-to-another-in-c-sharp

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:如何在C#中获取一条路径到另一条路径的相对路径