This topic has not yet been rated - Rate this topic

Tuple<T1, T2>.Equals Method

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

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)
public override bool Equals(
	Object obj
)

Parameters

obj
Type: System.Object

The object to compare with this instance.

Return Value

Type: System.Boolean
true if the current instance is equal to the specified object; otherwise, false.

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

  • It is a Tuple<T1, T2> object.

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

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

The following example calls the Tuple<T1, T2>.Equals(Object) method to determine whether any of the objects in an array of Tuple<T1, T2> objects are equal to one another. The output reflects the fact that the Equals(Object) method returns true when comparing Tuple<T1, T2> objects whose components have equal values.

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++)
      {
         Tuple<string, Nullable<int>> currentTuple = scores[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

.NET Framework

Supported in: 4.5, 4

.NET Framework Client Profile

Supported in: 4

Portable Class Library

Supported in: Portable Class Library

.NET for Windows Store apps

Supported in: Windows 8

Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Did you find this helpful?
(1500 characters remaining)
© 2013 Microsoft. All rights reserved.