Tuple<T1,T2,T3>.Equals(Object) Метод
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает значение, показывающее, равен ли текущий объект Tuple<T1,T2,T3> указанному объекту.
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
- obj
- Object
Объект, сравниваемый с данным экземпляром.
Значение true
, если текущий экземпляр равен указанному объекту; в противном случае — false
.
В следующем примере вызывается Tuple<T1,T2,T3>.Equals(Object) метод, чтобы определить, равны ли какие-либо объекты в массиве Tuple<T1,T2,T3> объектов друг другу. Выходные данные отражают тот факт, что Equals(Object) метод возвращается true
при сравнении Tuple<T1,T2,T3> объектов, компоненты которых имеют равные значения.
using System;
public class Example
{
public static void Main()
{
Tuple<string, double, int>[] scores =
{ Tuple.Create("Ed", 78.8, 8),
Tuple.Create("Abbey", 92.1, 9),
Tuple.Create("Ed", 71.2, 9),
Tuple.Create("Sam", 91.7, 8),
Tuple.Create("Ed", 71.2, 5),
Tuple.Create("Penelope", 82.9, 8),
Tuple.Create("Ed", 71.2, 9),
Tuple.Create("Judith", 84.3, 9) };
// Test each tuple object for equality with every other tuple.
for (int ctr = 0; ctr < scores.Length; ctr++)
{
var currentTuple = scores[ctr];
for (int ctr2 = ctr + 1; ctr2 < scores.Length; ctr2++)
Console.WriteLine("{0} = {1}: {2}", currentTuple, scores[ctr2],
currentTuple.Equals(scores[ctr2]));
Console.WriteLine();
}
}
}
// The example displays the following output;
// (Ed, 78.8, 8) = (Abbey, 92.1, 9): False
// (Ed, 78.8, 8) = (Ed, 71.2, 9): False
// (Ed, 78.8, 8) = (Sam, 91.7, 8): False
// (Ed, 78.8, 8) = (Ed, 71.2, 5): False
// (Ed, 78.8, 8) = (Penelope, 82.9, 8): False
// (Ed, 78.8, 8) = (Ed, 71.2, 9): False
// (Ed, 78.8, 8) = (Judith, 84.3, 9): False
//
// (Abbey, 92.1, 9) = (Ed, 71.2, 9): False
// (Abbey, 92.1, 9) = (Sam, 91.7, 8): False
// (Abbey, 92.1, 9) = (Ed, 71.2, 5): False
// (Abbey, 92.1, 9) = (Penelope, 82.9, 8): False
// (Abbey, 92.1, 9) = (Ed, 71.2, 9): False
// (Abbey, 92.1, 9) = (Judith, 84.3, 9): False
//
// (Ed, 71.2, 9) = (Sam, 91.7, 8): False
// (Ed, 71.2, 9) = (Ed, 71.2, 5): False
// (Ed, 71.2, 9) = (Penelope, 82.9, 8): False
// (Ed, 71.2, 9) = (Ed, 71.2, 9): True
// (Ed, 71.2, 9) = (Judith, 84.3, 9): False
//
// (Sam, 91.7, 8) = (Ed, 71.2, 5): False
// (Sam, 91.7, 8) = (Penelope, 82.9, 8): False
// (Sam, 91.7, 8) = (Ed, 71.2, 9): False
// (Sam, 91.7, 8) = (Judith, 84.3, 9): False
//
// (Ed, 71.2, 5) = (Penelope, 82.9, 8): False
// (Ed, 71.2, 5) = (Ed, 71.2, 9): False
// (Ed, 71.2, 5) = (Judith, 84.3, 9): False
//
// (Penelope, 82.9, 8) = (Ed, 71.2, 9): False
// (Penelope, 82.9, 8) = (Judith, 84.3, 9): False
//
// (Ed, 71.2, 9) = (Judith, 84.3, 9): False
open System
let scores =
[| Tuple.Create("Ed", 78.8, 8)
Tuple.Create("Abbey", 92.1, 9)
Tuple.Create("Ed", 71.2, 9)
Tuple.Create("Sam", 91.7, 8)
Tuple.Create("Ed", 71.2, 5)
Tuple.Create("Penelope", 82.9, 8)
Tuple.Create("Ed", 71.2, 9)
Tuple.Create("Judith", 84.3, 9) |]
// Test each tuple object for equality with every other tuple.
for ctr = 0 to scores.Length - 1 do
let currentTuple = scores[ctr]
for ctr2 = ctr + 1 to scores.Length - 1 do
printfn $"{currentTuple} = {scores[ctr2]}: {currentTuple.Equals scores[ctr2]}"
printfn ""
// The example displays the following output
// (Ed, 78.8, 8) = (Abbey, 92.1, 9): False
// (Ed, 78.8, 8) = (Ed, 71.2, 9): False
// (Ed, 78.8, 8) = (Sam, 91.7, 8): False
// (Ed, 78.8, 8) = (Ed, 71.2, 5): False
// (Ed, 78.8, 8) = (Penelope, 82.9, 8): False
// (Ed, 78.8, 8) = (Ed, 71.2, 9): False
// (Ed, 78.8, 8) = (Judith, 84.3, 9): False
//
// (Abbey, 92.1, 9) = (Ed, 71.2, 9): False
// (Abbey, 92.1, 9) = (Sam, 91.7, 8): False
// (Abbey, 92.1, 9) = (Ed, 71.2, 5): False
// (Abbey, 92.1, 9) = (Penelope, 82.9, 8): False
// (Abbey, 92.1, 9) = (Ed, 71.2, 9): False
// (Abbey, 92.1, 9) = (Judith, 84.3, 9): False
//
// (Ed, 71.2, 9) = (Sam, 91.7, 8): False
// (Ed, 71.2, 9) = (Ed, 71.2, 5): False
// (Ed, 71.2, 9) = (Penelope, 82.9, 8): False
// (Ed, 71.2, 9) = (Ed, 71.2, 9): True
// (Ed, 71.2, 9) = (Judith, 84.3, 9): False
//
// (Sam, 91.7, 8) = (Ed, 71.2, 5): False
// (Sam, 91.7, 8) = (Penelope, 82.9, 8): False
// (Sam, 91.7, 8) = (Ed, 71.2, 9): False
// (Sam, 91.7, 8) = (Judith, 84.3, 9): False
//
// (Ed, 71.2, 5) = (Penelope, 82.9, 8): False
// (Ed, 71.2, 5) = (Ed, 71.2, 9): False
// (Ed, 71.2, 5) = (Judith, 84.3, 9): False
//
// (Penelope, 82.9, 8) = (Ed, 71.2, 9): False
// (Penelope, 82.9, 8) = (Judith, 84.3, 9): False
//
// (Ed, 71.2, 9) = (Judith, 84.3, 9): False
Module Example
Public Sub Main()
Dim scores() =
{ Tuple.Create("Ed", 78.8, 8),
Tuple.Create("Abbey", 92.1, 9),
Tuple.Create("Ed", 71.2, 9),
Tuple.Create("Sam", 91.7, 8),
Tuple.Create("Ed", 71.2, 5),
Tuple.Create("Penelope", 82.9, 8),
Tuple.Create("Ed", 71.2, 9),
Tuple.Create("Judith", 84.3, 9) }
' Test each tuple object for equality with every other tuple.
For ctr As Integer = 0 To scores.Length - 1
Dim currentTuple = scores(ctr)
For ctr2 As Integer = ctr + 1 To scores.Length - 1
Console.WriteLine("{0} = {1}: {2}", currentTuple, scores(ctr2),
currentTuple.Equals(scores(ctr2)))
Next
Console.WriteLine()
Next
End Sub
End Module
' The example displays the following output;
' (Ed, 78.8, 8) = (Abbey, 92.1, 9): False
' (Ed, 78.8, 8) = (Ed, 71.2, 9): False
' (Ed, 78.8, 8) = (Sam, 91.7, 8): False
' (Ed, 78.8, 8) = (Ed, 71.2, 5): False
' (Ed, 78.8, 8) = (Penelope, 82.9, 8): False
' (Ed, 78.8, 8) = (Ed, 71.2, 9): False
' (Ed, 78.8, 8) = (Judith, 84.3, 9): False
'
' (Abbey, 92.1, 9) = (Ed, 71.2, 9): False
' (Abbey, 92.1, 9) = (Sam, 91.7, 8): False
' (Abbey, 92.1, 9) = (Ed, 71.2, 5): False
' (Abbey, 92.1, 9) = (Penelope, 82.9, 8): False
' (Abbey, 92.1, 9) = (Ed, 71.2, 9): False
' (Abbey, 92.1, 9) = (Judith, 84.3, 9): False
'
' (Ed, 71.2, 9) = (Sam, 91.7, 8): False
' (Ed, 71.2, 9) = (Ed, 71.2, 5): False
' (Ed, 71.2, 9) = (Penelope, 82.9, 8): False
' (Ed, 71.2, 9) = (Ed, 71.2, 9): True
' (Ed, 71.2, 9) = (Judith, 84.3, 9): False
'
' (Sam, 91.7, 8) = (Ed, 71.2, 5): False
' (Sam, 91.7, 8) = (Penelope, 82.9, 8): False
' (Sam, 91.7, 8) = (Ed, 71.2, 9): False
' (Sam, 91.7, 8) = (Judith, 84.3, 9): False
'
' (Ed, 71.2, 5) = (Penelope, 82.9, 8): False
' (Ed, 71.2, 5) = (Ed, 71.2, 9): False
' (Ed, 71.2, 5) = (Judith, 84.3, 9): False
'
' (Penelope, 82.9, 8) = (Ed, 71.2, 9): False
' (Penelope, 82.9, 8) = (Judith, 84.3, 9): False
'
' (Ed, 71.2, 9) = (Judith, 84.3, 9): False
Параметр obj
считается равным текущему экземпляру в следующих условиях:
Tuple<T1,T2,T3> Это объект.
Его три компонента относятся к тем же типам, что и текущий экземпляр.
Эти три компонента равны текущим экземплярам. Равенство определяется компаратором равенства объектов по умолчанию для каждого компонента.