Uri.Equals 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
多載
Equals(Object) |
比較兩個 Uri 實例是否相等。 |
Equals(Uri) |
比較兩個 Uri 實例是否相等。 |
Equals(Object)
- 來源:
- Uri.cs
- 來源:
- Uri.cs
- 來源:
- Uri.cs
比較兩個 Uri 實例是否相等。
public:
override bool Equals(System::Object ^ comparand);
public override bool Equals (object comparand);
public override bool Equals (object? comparand);
override this.Equals : obj -> bool
Public Overrides Function Equals (comparand As Object) As Boolean
參數
- comparand
- Object
要與目前實例比較的 URI 或 URI 識別碼。
傳回
如果兩個實例代表相同的 URI,true
;否則,false
。
範例
這個範例會從字串建立兩個 Uri 實例,並加以比較,以判斷它們是否代表相同的值。
address1
和 address2
相同,因為此比較會忽略 Fragment 部分。 結果會寫入主控台。
// Create some Uris.
Uri^ address1 = gcnew Uri( "http://www.contoso.com/index.htm#search" );
Uri^ address2 = gcnew Uri( "http://www.contoso.com/index.htm" );
if ( address1->Equals( address2 ) )
{
Console::WriteLine( "The two addresses are equal" );
}
else
{
Console::WriteLine( "The two addresses are not equal" );
}
// Will output "The two addresses are equal"
// Create some Uris.
Uri address1 = new Uri("http://www.contoso.com/index.htm#search");
Uri address2 = new Uri("http://www.contoso.com/index.htm");
if (address1.Equals(address2))
Console.WriteLine("The two addresses are equal");
else
Console.WriteLine("The two addresses are not equal");
// Will output "The two addresses are equal"
// Create some Uris.
let address1 = Uri "http://www.contoso.com/index.htm#search"
let address2 = Uri "http://www.contoso.com/index.htm"
if address1.Equals address2 then
printfn "The two addresses are equal"
else
printfn "The two addresses are not equal"
// Will output "The two addresses are equal"
' Create some Uris.
Dim address1 As New Uri("http://www.contoso.com/index.htm#search")
Dim address2 As New Uri("http://www.contoso.com/index.htm")
If address1.Equals(address2) Then
Console.WriteLine("The two addresses are equal")
Else
Console.WriteLine("The two addresses are not equal")
End If
' Will output "The two addresses are equal"
備註
Equals 方法會比較這兩個實例,而不考慮使用者資訊(UserInfo)和可能包含的片段(Fragment)部分。 例如,假設 URI http://www.contoso.com/index.htm#search
和 http://user:password@www.contoso.com/index.htm
,Equals 方法會傳回 true
。
如果一個 Uri 實例是以 Unicode 主機名組成,且 comparand
參數包含具有對等 Punycode 主機名的主機名所構成的 Uri 實例或標識符,則只有在啟用國際資源識別元 (IRI) 和國際化功能變數名稱 (IDN) 支援時,Equals 才會傳回 true
。 Punycode 名稱只包含 ASCII 字元,且一律以 xn-- 前置詞開頭。
如需 IRI 支援的詳細資訊,請參閱 Uri 類別的一節。
注意
在 .NET Framework 1.0 和 1.1 版中,也會忽略 Query。
注意
您可以在衍生類別中覆寫 Equals 方法;請小心,因為惡意實體可能會修改 方法。 除非您知道這個實例來自受信任的來源,否則您不應該使用此方法來執行安全性檢查。