我正在使用以下代码将绝对文件系统路径转换为相对路径。
public static void Main(string[] args)
{
System.Uri uri1 = new Uri(@"C:\Users\301591\Downloads\My Pics\abcd.jpg", true);
System.Uri uri2 = new Uri(@"C:\Users\301591\", true);
Uri relativeUri = uri2.MakeRelativeUri(uri1);
Console.WriteLine(relativeUri.ToString());
}
我得到的结果是/ Downloads / My Pics / abcd.jpg
但是编译器正在抛出警告,我正在使用的构造函数被标记为过时。
Uri testUri=new Uri("string path","flag to remove escape sequences");
是否有其他方法可以在结果中显示转义序列来创建相对路径?
答案 0 :(得分:3)
我找到了解决方案。
是
Console.WriteLine(Uri.UnescapeDataString(relativeUri.ToString()));
答案 1 :(得分:1)
根据MSDN,Uri.MakeRelative方法已过时:http://msdn.microsoft.com/en-us/library/system.uri.makerelative.aspx
所以Urii.MakeRelativeUri不能通过过时的警告http://msdn.microsoft.com/en-us/library/system.uri.makerelativeuri
所以请继续使用http://msdn.microsoft.com/en-us/library/system.uri.makerelativeuri与Cosntructor new Uri(@“C:\ Users \ 301591 \”);