Tuple<T1>.Equals(Object) Tuple<T1>.Equals(Object) Tuple<T1>.Equals(Object) Tuple<T1>.Equals(Object) Method

Définition

Retourne une valeur qui indique si l'objet Tuple<T1> actuel est égal à un objet spécifié.Returns a value that indicates whether the current Tuple<T1> object is equal to a specified object.

public:
 override bool Equals(System::Object ^ obj);
public override bool Equals (object obj);
override this.Equals : obj -> bool
Public Overrides Function Equals (obj As Object) As Boolean

Paramètres

obj
Object Object Object Object

Objet à comparer avec cette instance.The object to compare with this instance.

Retours

true si l'instance actuelle est égale à l'objet spécifié ; sinon, false.true if the current instance is equal to the specified object; otherwise, false.

Exemples

L’exemple suivant appelle la Tuple<T1>.Equals(Object) méthode pour comparer un Tuple<T1> objet dont le composant est un Double valeur avec trois Tuple<T1> objets dont les composants ont les caractéristiques suivantes :The following example calls the Tuple<T1>.Equals(Object) method to compare a Tuple<T1> object whose component is a Double value with three Tuple<T1> objects whose components have the following characteristics:

  • Même type (Double) et la même valeur.Same type (Double) and same value.

  • Même type (Double), mais valeur différente.Same type (Double), but different value.

  • Type différent (Single), mais même valeur.Different type (Single), but same value.

using System;

public class Example
{
   public static void Main()
   {
      var doubleTuple1 = Tuple.Create(12.3455);
      var doubleTuple2 = Tuple.Create(16.8912);
      var doubleTuple3 = Tuple.Create(12.3455);
      var singleTuple1 = Tuple.Create(12.3455f);
      var tuple2 = Tuple.Create("James", 97.3); 
        
      // Compare first tuple with a Tuple(Of Double) with a different value.
      TestEquality(doubleTuple1, doubleTuple2);
      // Compare first tuple with a Tuple(Of Double) with the same value.
      TestEquality(doubleTuple1, doubleTuple3);
      // Compare first tuple with a Tuple(Of Single) with the same value.
      TestEquality(doubleTuple1, singleTuple1);
      // Compare a 1-tuple with a 2-tuple.
      TestEquality(doubleTuple1, tuple2); 
   }

   private static void TestEquality(Tuple<double> tuple, object obj)
   {
      Console.WriteLine("{0} = {1}: {2}", tuple.ToString(),
                                          obj.ToString(),
                                          tuple.Equals(obj));
   } 
}
// The example displays the following output:
//       (12.3455) = (16.8912): False
//       (12.3455) = (12.3455): True
//       (12.3455) = (12.3455): False
//       (12.3455) = (James, 97.3): False
Module Example
    Sub Main()
        Dim doubleTuple1 = Tuple.Create(12.3455)

        Dim doubleTuple2 = Tuple.Create(16.8912)
        Dim doubleTuple3 = Tuple.Create(12.3455)
        Dim singleTuple1 = Tuple.Create(CSng(12.3455))
        Dim tuple2 = Tuple.Create("James", 97.3) 
        ' Compare first tuple with a Tuple(Of Double) with a different value.
        TestEquality(doubleTuple1, doubleTuple2)
        ' Compare first tuple with a Tuple(Of Double) with the same value.
        TestEquality(doubleTuple1, doubleTuple3)
        ' Compare first tuple with a Tuple(Of Single) with the same value.
        TestEquality(doubleTuple1, singleTuple1)
        ' Compare a 1-tuple with a 2-tuple.
        TestEquality(doubleTuple1, tuple2) 
    End Sub
    
   Private Sub TestEquality(tuple As Tuple(Of Double), obj As Object)
      Try
         Console.WriteLine("{0} = {1}: {2}", tuple.ToString(),
                                            obj.ToString,
                                            tuple.Equals(obj))
      
      Catch e As ArgumentException
         If obj.GetType.IsGenericType Then 
            If obj.GetType().Name = "Tuple`1" Then 
               Console.WriteLine("Cannot compare a Tuple(Of {0}) with a Tuple(Of {1}).", 
                              tuple.Item1.GetType().Name, obj.Item1.GetType().Name)
            Else
               Console.WriteLine("Cannot compare a {0} with a {1}.", tuple.GetType().Name, 
                                                                     obj.GetType().Name)
            End If
         Else
            Console.WriteLine("Cannot compare a {0} with a {1}.", tuple.GetType().Name,
                                                                  obj.GetType().Name)
         End If
      End Try
   End Sub
End Module
' The example displays the following output:
'       (12.3455) = (16.8912): False
'       (12.3455) = (12.3455): True
'       (12.3455) = (12.3455): False
'       (12.3455) = (James, 97.3): False

Remarques

Le obj paramètre est considéré comme égal à l’instance actuelle dans les conditions suivantes :The obj parameter is considered to be equal to the current instance under the following conditions:

  • Il s’agit une Tuple<T1> objet.It is a Tuple<T1> object.

  • Son composant unique est du même type que l’instance actuelle.Its single component is of the same type as the current instance.

  • Son seul composant est égale à celle de l’instance actuelle.Its single component is equal to that of the current instance. L'égalité est déterminée par le comparateur d'égalité d'objet par défaut pour chaque composant.Equality is determined by the default object equality comparer for each component.

S’applique à