Uri.MakeRelativeUri(Uri) 方法

定义

确定两个 Uri 实例之间的差异。

public:
 Uri ^ MakeRelativeUri(Uri ^ uri);
public Uri MakeRelativeUri (Uri uri);
member this.MakeRelativeUri : Uri -> Uri
Public Function MakeRelativeUri (uri As Uri) As Uri

参数

uri
Uri

与当前 URI 进行比较的 URI。

返回

Uri

如果此 URI 实例与 uri 的主机名和方案相同,则此方法返回一个相对 Uri。若将此相对 URI 追加到当前 URI 实例,就可以得到 uri

如果主机名或方案不同,则此方法返回一个表示 Uri 参数的 uri

例外

urinull

此实例代表一个相对 URI,而此属性仅对绝对 URI 有效。

示例

以下示例创建 2 Uri 个实例。 路径信息的差异将写入控制台。

// Create a base Uri.
Uri^ address1 = gcnew Uri( "http://www.contoso.com/" );

// Create a new Uri from a string.
Uri^ address2 = gcnew Uri( "http://www.contoso.com/index.htm?date=today" );

// Determine the relative Uri.  
Console::WriteLine( "The difference is {0}", address1->MakeRelativeUri( address2 ) );
// Create a base Uri.
Uri address1 = new Uri("http://www.contoso.com/");

// Create a new Uri from a string.
Uri address2 = new Uri("http://www.contoso.com/index.htm?date=today");

// Determine the relative Uri.
Console.WriteLine("The difference is {0}", address1.MakeRelativeUri(address2));
// Create a base Uri.
let address1 = Uri "http://www.contoso.com/"

// Create a new Uri from a string.
let address2 = Uri "http://www.contoso.com/index.htm?date=today"

// Determine the relative Uri.
printfn $"The difference is {address1.MakeRelativeUri address2}"
    ' Create a base Uri.
    Dim address1 As New Uri("http://www.contoso.com/")
    
    ' Create a new Uri from a string.
    Dim address2 As New Uri("http://www.contoso.com/index.htm?date=today")
    
    ' Determine the relative Uri.  
    Console.WriteLine("The difference is {0}", address1.MakeRelativeUri(address2))

End Sub

注解

下表显示了 URI 实例 toUri和调用 MakeRelativeUri结果。

当前 URI 实例 toUri 返回值
http://www.contoso.com/ http://www.contoso.com/test/test.htm test/test.htm
http://www.contoso.com/test1/ http://www.contoso.com/ ../
http://www.contoso.com:8000/ http://www.contoso.com/test/test.htm http://www.contoso.com/test/test.htm
http://username@www.contoso.com/ http://www.contoso.com/test1/test1.txt test1/test1.txt

用户信息(如果存在于 URI 中)将被忽略。

适用于