Tuple<T1,T2,T3,T4,T5,T6>.Equals(Object) Method

Definition

Returns a value that indicates whether the current Tuple<T1,T2,T3,T4,T5,T6> object is equal to a specified object.

public override bool Equals (object obj);
public override bool Equals (object? obj);

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 an array of sextuples that contain population data for Los Angeles and New York from 1960 to 2000. The first component of each sextuple identifies the city. The first, third, and fourth sextuples contain data for New York. The first sextuple is a duplicate of the fourth sextuple. The third sextuple identifies the city as "New York City" instead of "New York". As the example shows, only the fourth sextuple is equal to the first sextuple.

using System;

public class Example
{
   public static void Main()
   {
      // Get population data for New York City and Los Angeles, 1960-2000.
      Tuple<string, int, int, int, int, int>[] urbanPopulations =
           { Tuple.Create("New York", 7781984, 7894862, 7071639, 7322564, 8008278),
             Tuple.Create("Los Angeles", 2479015, 2816061, 2966850, 3485398, 3694820),
             Tuple.Create("New York City", 7781984, 7894862, 7071639, 7322564, 8008278),
             Tuple.Create("New York", 7781984, 7894862, 7071639, 7322564, 8008278) };
      // Compare each tuple with every other tuple for equality.
      for (int ctr = 0; ctr <= urbanPopulations.Length - 2; ctr++)
      {                      
         var urbanPopulation = urbanPopulations[ctr];
         Console.WriteLine(urbanPopulation.ToString() + " = ");
         for (int innerCtr = ctr +1; innerCtr <= urbanPopulations.Length - 1; innerCtr++)
            Console.WriteLine("   {0}: {1}", urbanPopulations[innerCtr], 
                              urbanPopulation.Equals(urbanPopulations[innerCtr]));
         Console.WriteLine();
      }   
   }
}
// The example displays the following output:
//    (New York, 7781984, 7894862, 7071639, 7322564, 8008278) =
//       (Los Angeles, 2479015, 2816061, 2966850, 3485398, 3694820): False
//       (New York City, 7781984, 7894862, 7071639, 7322564, 8008278): False
//       (New York, 7781984, 7894862, 7071639, 7322564, 8008278): True
//    
//    (Los Angeles, 2479015, 2816061, 2966850, 3485398, 3694820) =
//       (New York City, 7781984, 7894862, 7071639, 7322564, 8008278): False
//       (New York, 7781984, 7894862, 7071639, 7322564, 8008278): False
//    
//    (New York City, 7781984, 7894862, 7071639, 7322564, 8008278) =
//       (New York, 7781984, 7894862, 7071639, 7322564, 8008278): False

Remarks

The obj parameter is considered to be equal to the current instance under the following conditions:

  • It is a Tuple<T1,T2,T3,T4,T5,T6> object.

  • Its six components are of the same types as the current instance.

  • Its six components are equal to those of the current instance. Equality is determined by the default object equality comparer for each component.

Applies to

Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0