Tuple<T1,T2,T3,T4,T5,T6,T7,TRest>.Equals(Object) Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Returns a value that indicates whether the current Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> object is equal to a specified object.
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
Parameters
- obj
- Object
The object to compare with this instance.
Returns
true
if the current instance is equal to the specified object; otherwise, false
.
Examples
The following example defines five Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> objects that contain prime numbers. It then compares the first object with each of the remaining objects. As the output shows, only the first and the last Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> objects are equal, because they have an identical number of components with identical values.
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
Remarks
The obj
parameter is considered to be equal to the current instance if it meets all the following conditions:
It is a Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> object.
It has the same total number of components that are of the same types as the current instance.
Its components (including its nested components) are equal to those of the current instance. Equality is determined by the default equality comparer for each component.