大学IT网 - 最懂大学生的IT学习网站! QQ资料交流群:367606806
当前位置:大学IT网 > C#技巧 > C# 获取相对路径(绝对路径转相对路径)

C# 获取相对路径(绝对路径转相对路径)

关键词:相对路径绝对路径C#  阅读(1062) 赞(18)

[摘要]本文是对C# 获取相对路径(绝对路径转相对路径)的讲解,对学习C#编程技术有所帮助,与大家分享。

这个的方法有很多吧。

1. 用PInvok调用Windows API的PathRelativePathTo

2. 自行处理字符串

3. 利用Uri

前两种就不说了,觉得有点麻烦,想了解的同学,自已,百度Google一下吧。

第3种,也没啥好说的,直接Code。

         public static string GetRelativePath(string filespec, string folder)
         {
             const string directorySeparatorChar = "\\";
             Uri pathUri = new Uri(filespec);
 
             if (!folder.EndsWith(directorySeparatorChar))
             {
                 folder += directorySeparatorChar;
             }
             Uri folderUri = new Uri(folder);
             return Uri.UnescapeDataString(folderUri.MakeRelativeUri(pathUri).ToString().Replace("/", directorySeparatorChar));
         }

因为这个我是在WinRT里用的,在WinRT里,没有Path.DirectorySeparatorChar,你在其它环境下使用Path.DirectorySeparatorChar 替换"\\"。



相关评论