Path.GetRelativePath(String, String) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
返回从一个路径到另一个路径的相对路径。
public:
static System::String ^ GetRelativePath(System::String ^ relativeTo, System::String ^ path);
public static string GetRelativePath(string relativeTo, string path);
static member GetRelativePath : string * string -> string
Public Shared Function GetRelativePath (relativeTo As String, path As String) As String
参数
- relativeTo
- String
结果应相对于的源路径。 此路径始终被视为目录。
- path
- String
目标路径。
返回
相对路径,或者 path 路径不共享同一根路径。
例外
relativeTo 或 path 为 null.
relativeTo 或 path 实际上为空。
示例
以下代码演示如何调用 GetRelativePath 该方法。
// "C:/Program Files/Microsoft" relative to "C:/Program Files/Common Files" is "../Microsoft"
Console.WriteLine(Path.GetRelativePath("C:/Program Files/Common Files", "C:/Program Files/Microsoft"));
// "C:/Program Files/Microsoft" relative to "C:/Program Files/" is "Microsoft"
Console.WriteLine(Path.GetRelativePath("C:/Program Files/", "C:/Program Files/Microsoft"));
// This code produces output similar to the following:
//
// ../Microsoft
// Microsoft
' "C:/Program Files/Microsoft" relative to "C:/Program Files/Common Files" is "../Microsoft"
Console.WriteLine(Path.GetRelativePath("C:/Program Files/Common Files", "C:/Program Files/Microsoft"))
' "C:/Program Files/Microsoft" relative to "C:/Program Files/" is "Microsoft"
Console.WriteLine(Path.GetRelativePath("C:/Program Files/", "C:/Program Files/Microsoft"))
' This code produces output similar to the following:
'
' ../Microsoft
' Microsoft
注解
在计算差异之前,通过调用 GetFullPath 方法来解析路径。 该方法使用当前平台的默认文件路径比较(StringComparison.OrdinalIgnoreCase 适用于 Windows 和 macOS, StringComparison.Ordinal 适用于 Linux)。