Tuple<T1>.Equals(Object) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Gibt einen Wert zurück, der angibt, ob das aktuelle Tuple<T1> Objekt einem angegebenen Objekt entspricht.
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
Parameter
- obj
- Object
Das Objekt, das mit dieser Instanz verglichen werden soll.
Gibt zurück
truewenn die aktuelle Instanz dem angegebenen Objekt entspricht; andernfalls . 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 Merkmale aufweisen:
Derselbe Typ (Double) und derselbe Wert.
Derselbe Typ (Double), aber ein anderer Wert.
Unterschiedlicher Typ (Single), aber derselbe Wert.
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
open System
let testEquality (tuple: Tuple<double>) (obj: obj) =
printfn $"{tuple} = {obj}: {tuple.Equals obj}"
let doubleTuple1 = Tuple.Create 12.3455
let doubleTuple2 = Tuple.Create 16.8912
let doubleTuple3 = Tuple.Create 12.3455
let singleTuple1 = Tuple.Create 12.3455f
let 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
// 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:
Es handelt sich um ein Tuple<T1> Objekt.
Die einzelne Komponente weist denselben Typ wie die aktuelle Instanz auf.
Die einzelne Komponente ist gleich der der aktuellen Instanz. Die Gleichheit wird durch den Standardmäßigen Vergleich der Objektgleichstellung für jede Komponente bestimmt.