Tuple<T1,T2>.Equals(Object) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vrátí hodnotu, která určuje, zda je aktuální Tuple<T1,T2> objekt roven zadanému objektu.
public:
override bool Equals(System::Object ^ obj);
public override bool Equals(object obj);
public override bool Equals(object? obj);
override this.Equals : obj -> bool
Public Overrides Function Equals (obj As Object) As Boolean
Parametry
- obj
- Object
Objekt, který chcete porovnat s touto instancí.
Návraty
truepokud je aktuální instance rovna zadanému objektu; v opačném případě . false
Příklady
Následující příklad volá metodu Tuple<T1,T2>.Equals(Object) k určení, zda některý z objektů v poli Tuple<T1,T2> objektů jsou rovny navzájem. Výstup odráží skutečnost, že Equals(Object) metoda vrací true při porovnávání Tuple<T1,T2> objektů, jejichž komponenty mají stejné hodnoty.
using System;
public class Example
{
public static void Main()
{
Tuple<string, Nullable<int>>[] scores =
{ new Tuple<string, Nullable<int>>("Dan", 90),
new Tuple<string, Nullable<int>>("Ernie", null),
new Tuple<string, Nullable<int>>("Jill", 88),
new Tuple<string, Nullable<int>>("Ernie", null),
new Tuple<string, Nullable<int>>("Nancy", 88),
new Tuple<string, Nullable<int>>("Dan", 90) };
// Compare the Tuple objects
for (int ctr = 0; ctr < scores.Length; ctr++)
{
for (int innerCtr = ctr + 1; innerCtr < scores.Length; innerCtr++)
{
Console.WriteLine("{0} = {1}: {2}",
scores[ctr], scores[innerCtr],
scores[ctr].Equals(scores[innerCtr]));
}
Console.WriteLine();
}
}
}
// The example displays the following output:
// (Dan, 90) = (Ernie, ): False
// (Dan, 90) = (Jill, 88): False
// (Dan, 90) = (Ernie, ): False
// (Dan, 90) = (Nancy, 88): False
// (Dan, 90) = (Dan, 90): True
//
// (Ernie, ) = (Jill, 88): False
// (Ernie, ) = (Ernie, ): True
// (Ernie, ) = (Nancy, 88): False
// (Ernie, ) = (Dan, 90): False
//
// (Jill, 88) = (Ernie, ): False
// (Jill, 88) = (Nancy, 88): False
// (Jill, 88) = (Dan, 90): False
//
// (Ernie, ) = (Nancy, 88): False
// (Ernie, ) = (Dan, 90): False
//
// (Nancy, 88) = (Dan, 90): False
open System
let scores =
[| Tuple<string, Nullable<int>>("Dan", 90)
Tuple<string, Nullable<int>>("Ernie", Nullable())
Tuple<string, Nullable<int>>("Jill", 88)
Tuple<string, Nullable<int>>("Ernie", Nullable())
Tuple<string, Nullable<int>>("Nancy", 88)
Tuple<string, Nullable<int>>("Dan", 90) |]
// Compare the Tuple objects
for ctr = 0 to scores.Length - 1 do
for innerCtr = ctr + 1 to scores.Length - 1 do
printfn $"{scores[ctr]} = {scores[innerCtr]}: {scores[ctr].Equals scores[innerCtr]}"
printfn ""
// The example displays the following output:
// (Dan, 90) = (Ernie, ): False
// (Dan, 90) = (Jill, 88): False
// (Dan, 90) = (Ernie, ): False
// (Dan, 90) = (Nancy, 88): False
// (Dan, 90) = (Dan, 90): True
//
// (Ernie, ) = (Jill, 88): False
// (Ernie, ) = (Ernie, ): True
// (Ernie, ) = (Nancy, 88): False
// (Ernie, ) = (Dan, 90): False
//
// (Jill, 88) = (Ernie, ): False
// (Jill, 88) = (Nancy, 88): False
// (Jill, 88) = (Dan, 90): False
//
// (Ernie, ) = (Nancy, 88): False
// (Ernie, ) = (Dan, 90): False
//
// (Nancy, 88) = (Dan, 90): False
Module Example
Public Sub Main()
Dim scores() As Tuple(Of String, Nullable(Of Integer)) =
{ New Tuple(Of String, Nullable(Of Integer))("Dan", 90),
New Tuple(Of String, Nullable(Of Integer))("Ernie", Nothing),
New Tuple(Of String, Nullable(Of Integer))("Jill", 88),
New Tuple(Of String, Nullable(Of Integer))("Ernie", Nothing),
New Tuple(Of String, Nullable(Of Integer))("Nancy", 88),
New Tuple(Of String, Nullable(Of Integer))("Dan", 90) }
' Compare the Tuple objects
For ctr As Integer = 0 To scores.Length - 1
For innerCtr As Integer = ctr + 1 To scores.Length - 1
Console.WriteLine("{0} = {1}: {2}",
scores(ctr), scores(innerCtr),
scores(ctr).Equals(scores(innerCtr)))
Next
Console.WriteLine()
Next
End Sub
End Module
' The example displays the following output:
' (Dan, 90) = (Ernie, ): False
' (Dan, 90) = (Jill, 88): False
' (Dan, 90) = (Ernie, ): False
' (Dan, 90) = (Nancy, 88): False
' (Dan, 90) = (Dan, 90): True
'
' (Ernie, ) = (Jill, 88): False
' (Ernie, ) = (Ernie, ): True
' (Ernie, ) = (Nancy, 88): False
' (Ernie, ) = (Dan, 90): False
'
' (Jill, 88) = (Ernie, ): False
' (Jill, 88) = (Nancy, 88): False
' (Jill, 88) = (Dan, 90): False
'
' (Ernie, ) = (Nancy, 88): False
' (Ernie, ) = (Dan, 90): False
'
' (Nancy, 88) = (Dan, 90): False
Poznámky
Parametr obj se považuje za roven aktuální instanci za následujících podmínek:
Jedná se o Tuple<T1,T2> objekt.
Její dvě komponenty mají stejné typy jako aktuální instance.
Jeho dvě komponenty jsou stejné jako aktuální instance. Rovnost je určena výchozím porovnávačem rovnosti objektů pro každou komponentu.