Tuple<T1,T2,T3,T4,T5,T6,T7,TRest>.Equals(Object) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает значение, показывающее, равен ли текущий объект Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> указанному объекту.
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,T4,T5,T6,T7,TRest> объектов, содержащих простые числа. Затем он сравнивает первый объект с каждым из оставшихся объектов. Как показано в выходных данных, только первые и последние Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> объекты равны, так как они имеют одинаковое количество компонентов с одинаковыми значениями.
using System;
public class Class1
{
public static void Main()
{
// Create five 8-tuple objects containing prime numbers.
var prime1 = new Tuple<Int32, Int32, Int32, Int32, Int32, Int32, Int32,
Tuple<Int32>> (2, 3, 5, 7, 11, 13, 17,
new Tuple<Int32>(19));
var prime2 = new Tuple<Int32, Int32, Int32, Int32, Int32, Int32, Int32,
Tuple<Int32>> (23, 29, 31, 37, 41, 43, 47,
new Tuple<Int32>(55));
var prime3 = new Tuple<Int32, Int32, Int32, Int32, Int32, Int32, Int32,
Tuple<Int32>> (3, 2, 5, 7, 11, 13, 17,
new Tuple<Int32>(19));
var prime4 = new Tuple<Int32, Int32, Int32, Int32, Int32, Int32, Int32,
Tuple<Int32, Int32>> (2, 3, 5, 7, 11, 13, 17,
new Tuple<Int32, Int32>(19, 23));
var prime5 = new Tuple<Int32, Int32, Int32, Int32, Int32, Int32, Int32,
Tuple<Int32>> (2, 3, 5, 7, 11, 13, 17,
new Tuple<Int32>(19));
Console.WriteLine("{0} = {1} : {2}", prime1, prime2, prime1.Equals(prime2));
Console.WriteLine("{0} = {1} : {2}", prime1, prime3, prime1.Equals(prime3));
Console.WriteLine("{0} = {1} : {2}", prime1, prime4, prime1.Equals(prime4));
Console.WriteLine("{0} = {1} : {2}", prime1, prime5, prime1.Equals(prime5));
}
}
// The example displays the following output:
// (2, 3, 5, 7, 11, 13, 17, 19) = (23, 29, 31, 37, 41, 43, 47, 55) : False
// (2, 3, 5, 7, 11, 13, 17, 19) = (3, 2, 5, 7, 11, 13, 17, 19) : False
// (2, 3, 5, 7, 11, 13, 17, 19) = (2, 3, 5, 7, 11, 13, 17, 19, 23) : False
// (2, 3, 5, 7, 11, 13, 17, 19) = (2, 3, 5, 7, 11, 13, 17, 19) : True
open System
// Create five 8-tuple objects containing prime numbers.
let prime1 =
new Tuple<Int32, Int32, Int32, Int32, Int32, Int32, Int32,
Tuple<Int32>> (2, 3, 5, 7, 11, 13, 17,
new Tuple<Int32>(19))
let prime2 =
new Tuple<Int32, Int32, Int32, Int32, Int32, Int32, Int32,
Tuple<Int32>> (23, 29, 31, 37, 41, 43, 47,
new Tuple<Int32>(55))
let prime3 =
new Tuple<Int32, Int32, Int32, Int32, Int32, Int32, Int32,
Tuple<Int32>> (3, 2, 5, 7, 11, 13, 17,
new Tuple<Int32>(19))
let prime4 =
new Tuple<Int32, Int32, Int32, Int32, Int32, Int32, Int32,
Tuple<Int32, Int32>> (2, 3, 5, 7, 11, 13, 17,
new Tuple<Int32, Int32>(19, 23))
let prime5 =
new Tuple<Int32, Int32, Int32, Int32, Int32, Int32, Int32,
Tuple<Int32>> (2, 3, 5, 7, 11, 13, 17,
new Tuple<Int32>(19))
printfn $"{prime1} = {prime2} : {prime1.Equals prime2}"
printfn $"{prime1} = {prime3} : {prime1.Equals prime3}"
printfn $"{prime1} = {prime4} : {prime1.Equals prime4}"
printfn $"{prime1} = {prime5} : {prime1.Equals prime5}"
// The example displays the following output:
// (2, 3, 5, 7, 11, 13, 17, 19) = (23, 29, 31, 37, 41, 43, 47, 55) : False
// (2, 3, 5, 7, 11, 13, 17, 19) = (3, 2, 5, 7, 11, 13, 17, 19) : False
// (2, 3, 5, 7, 11, 13, 17, 19) = (2, 3, 5, 7, 11, 13, 17, 19, 23) : False
// (2, 3, 5, 7, 11, 13, 17, 19) = (2, 3, 5, 7, 11, 13, 17, 19) : True
Module Example
Public Sub Main()
' Create five 8-tuple objects containing prime numbers.
Dim prime1 = New Tuple(Of Int32, Int32, Int32, Int32, Int32, Int32, Int32,
Tuple(Of Int32)) (2, 3, 5, 7, 11, 13, 17,
New Tuple(Of Int32)(19))
Dim prime2 = New Tuple(Of Int32, Int32, Int32, Int32, Int32, Int32, Int32,
Tuple(Of Int32)) (23, 29, 31, 37, 41, 43, 47,
New Tuple(Of Int32)(55))
Dim prime3 = New Tuple(Of Int32, Int32, Int32, Int32, Int32, Int32, Int32,
Tuple(Of Int32)) (3, 2, 5, 7, 11, 13, 17,
New Tuple(Of Int32)(19))
Dim prime4 = New Tuple(Of Int32, Int32, Int32, Int32, Int32, Int32, Int32,
Tuple(Of Int32, Int32)) (2, 3, 5, 7, 11, 13, 17,
New Tuple(Of Int32, Int32)(19, 23))
Dim prime5 = New Tuple(Of Int32, Int32, Int32, Int32, Int32, Int32, Int32,
Tuple(Of Int32)) (2, 3, 5, 7, 11, 13, 17,
New Tuple(Of Int32)(19))
Console.WriteLine("{0} = {1} : {2}", prime1, prime2, prime1.Equals(prime2))
Console.WriteLine("{0} = {1} : {2}", prime1, prime3, prime1.Equals(prime3))
Console.WriteLine("{0} = {1} : {2}", prime1, prime4, prime1.Equals(prime4))
Console.WriteLine("{0} = {1} : {2}", prime1, prime5, prime1.Equals(prime5))
End Sub
End Module
' The example displays the following output:
' (2, 3, 5, 7, 11, 13, 17, 19) = (23, 29, 31, 37, 41, 43, 47, 55) : False
' (2, 3, 5, 7, 11, 13, 17, 19) = (3, 2, 5, 7, 11, 13, 17, 19) : False
' (2, 3, 5, 7, 11, 13, 17, 19) = (2, 3, 5, 7, 11, 13, 17, 19, 23) : False
' (2, 3, 5, 7, 11, 13, 17, 19) = (2, 3, 5, 7, 11, 13, 17, 19) : True
Комментарии
Параметр obj
считается равным текущему экземпляру, если он соответствует всем следующим условиям:
Это Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> объект.
Он имеет одинаковое общее количество компонентов, которые относятся к тем же типам, что и текущий экземпляр.
Его компоненты (включая вложенные компоненты) равны компонентам текущего экземпляра. Равенство определяется функцией сравнения на равенство по умолчанию для каждого компонента.