語言

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參數的 auri。

例外狀況

uri 是 null。

此實例代表一個相對 URI,且此性質僅適用於絕對 URI。

範例

以下範例會產生兩個 Uri 實例。 路徑資訊的差異會寫入主控台。

// 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 中,則會被忽略。

適用於