Tuple<T1>.Equals(Object) Methode

Definition

Gibt einen Wert zurück, der angibt, ob das aktuelle Tuple<T1>-Objekt gleich einem angegebenen Objekt ist.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

Parameter

obj
Object

Das Objekt, das mit dieser Instanz verglichen werden soll.The object to compare with this instance.

Gibt zurück

true, wenn die aktuelle Instanz gleich dem angegebenen Objekt ist, andernfalls false.true if the current instance is equal to the specified object; otherwise, false.

Beispiele

Im folgenden Beispiel wird die Tuple<T1>.Equals(Object)-Methode aufgerufen, um ein Tuple<T1> Objekt zu vergleichen, dessen Komponente ein Double Wert mit drei Tuple<T1> Objekten ist, deren Komponenten die folgenden Eigenschaften aufweisen: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:

  • Gleicher Typ (Double) und gleicher Wert.Same type (Double) and same value.

  • Derselbe Typ (Double), aber ein anderer Wert.Same type (Double), but different value.

  • Ein anderer Typ (Single), aber derselbe Wert.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

Hinweise

Der obj-Parameter wird unter folgenden Bedingungen als gleich der aktuellen Instanz betrachtet:The obj parameter is considered to be equal to the current instance under the following conditions:

  • Es handelt sich um ein Tuple<T1> Objekt.It is a Tuple<T1> object.

  • Die einzige Komponente hat denselben Typ wie die aktuelle Instanz.Its single component is of the same type as the current instance.

  • Die einzelne Komponente entspricht der der aktuellen Instanz.Its single component is equal to that of the current instance. Die Gleichheit wird vom standardmäßigen Objektgleichheitsvergleich für die einzelnen Komponenten festgelegt.Equality is determined by the default object equality comparer for each component.

Gilt für: