Tuple<T1>.Equals(Object) Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Retourneert een waarde die aangeeft of het huidige Tuple<T1> object gelijk is aan een opgegeven object.
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
Parameters
- obj
- Object
Het object dat moet worden vergeleken met dit exemplaar.
Retouren
true als het huidige exemplaar gelijk is aan het opgegeven object; anders, false.
Voorbeelden
In het volgende voorbeeld wordt de Tuple<T1>.Equals(Object) methode aangeroepen om een Tuple<T1> object te vergelijken waarvan het onderdeel een Double waarde is met drie Tuple<T1> objecten waarvan de onderdelen de volgende kenmerken hebben:
Hetzelfde type (Double) en dezelfde waarde.
Hetzelfde type (Double), maar een andere waarde.
Verschillend type (Single), maar dezelfde waarde.
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
Opmerkingen
De obj parameter wordt beschouwd als gelijk aan het huidige exemplaar onder de volgende omstandigheden:
Het is een Tuple<T1> object.
Het ene onderdeel is van hetzelfde type als het huidige exemplaar.
Het enige onderdeel is gelijk aan dat van het huidige exemplaar. Gelijkheid wordt bepaald door de standaard object gelijkheidsvergelijker voor elk onderdeel.