Tuple<T1,T2,T3,T4>.Equals(Object) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
返回一个值,该值指示当前 Tuple<T1,T2,T3,T4> 对象是否等于指定对象。
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
参数
- obj
- Object
要与此实例进行比较的对象。
返回
true 如果当前实例等于指定的对象,则为 ;否则,为 false.
示例
以下示例定义一个对象数组 Tuple<T1,T2,T3,T4> ,这些对象在特定一天中三次提供温度数据。
Equals(Object)调用该方法将每个对象与其他每个Tuple<T1,T2,T3,T4>Tuple<T1,T2,T3,T4>对象进行比较。 输出说明Equals(Object)仅当对象的所有四个true组件都具有相等值时,该方法才会返回Tuple<T1,T2,T3,T4>。
using System;
public class Class1
{
public static void Main()
{
Tuple<DateTime, double, double, double>[] temperatures =
{ Tuple.Create(new DateTime(2009, 1, 16), 3.0, 5.0, 4.0),
Tuple.Create(new DateTime(2009, 4, 22), 9.0, 14.0, 11.0),
Tuple.Create(new DateTime(2009, 4, 22), 9.0, 14.0, 10.0),
Tuple.Create(new DateTime(2009, 6, 1), 23.0, 28.0, 21.0),
Tuple.Create(new DateTime(2009, 4, 22), 9.0, 14.0, 11.0),
Tuple.Create(new DateTime(2009, 9, 6), 25.0, 30.0, 25.0) };
// Compare each item with every other item for equality.
for (int ctr = 0; ctr < temperatures.Length; ctr++)
{
var temperatureInfo = temperatures[ctr];
for (int ctr2 = ctr + 1; ctr2 < temperatures.Length; ctr2++)
Console.WriteLine("{0} = {1}: {2}", temperatureInfo, temperatures[ctr2],
temperatureInfo.Equals(temperatures[ctr2]));
Console.WriteLine();
}
}
}
// The example displays the following output:
// (1/16/2009 12:00:00 AM, 3, 5, 4) = (4/22/2009 12:00:00 AM, 9, 14, 11): False
// (1/16/2009 12:00:00 AM, 3, 5, 4) = (4/22/2009 12:00:00 AM, 9, 14, 10): False
// (1/16/2009 12:00:00 AM, 3, 5, 4) = (6/1/2009 12:00:00 AM, 23, 28, 21): False
// (1/16/2009 12:00:00 AM, 3, 5, 4) = (4/22/2009 12:00:00 AM, 9, 14, 11): False
// (1/16/2009 12:00:00 AM, 3, 5, 4) = (9/6/2009 12:00:00 AM, 25, 30, 25): False
//
// (4/22/2009 12:00:00 AM, 9, 14, 11) = (4/22/2009 12:00:00 AM, 9, 14, 10): False
// (4/22/2009 12:00:00 AM, 9, 14, 11) = (6/1/2009 12:00:00 AM, 23, 28, 21): False
// (4/22/2009 12:00:00 AM, 9, 14, 11) = (4/22/2009 12:00:00 AM, 9, 14, 11): True
// (4/22/2009 12:00:00 AM, 9, 14, 11) = (9/6/2009 12:00:00 AM, 25, 30, 25): False
//
// (4/22/2009 12:00:00 AM, 9, 14, 10) = (6/1/2009 12:00:00 AM, 23, 28, 21): False
// (4/22/2009 12:00:00 AM, 9, 14, 10) = (4/22/2009 12:00:00 AM, 9, 14, 11): False
// (4/22/2009 12:00:00 AM, 9, 14, 10) = (9/6/2009 12:00:00 AM, 25, 30, 25): False
//
// (6/1/2009 12:00:00 AM, 23, 28, 21) = (4/22/2009 12:00:00 AM, 9, 14, 11): False
// (6/1/2009 12:00:00 AM, 23, 28, 21) = (9/6/2009 12:00:00 AM, 25, 30, 25): False
//
// (4/22/2009 12:00:00 AM, 9, 14, 11) = (9/6/2009 12:00:00 AM, 25, 30, 25): False
open System
let temperatures =
[| Tuple.Create(DateTime(2009, 1, 16), 3.0, 5.0, 4.0)
Tuple.Create(DateTime(2009, 4, 22), 9.0, 14.0, 11.0)
Tuple.Create(DateTime(2009, 4, 22), 9.0, 14.0, 10.0)
Tuple.Create(DateTime(2009, 6, 1), 23.0, 28.0, 21.0)
Tuple.Create(DateTime(2009, 4, 22), 9.0, 14.0, 11.0)
Tuple.Create(DateTime(2009, 9, 6), 25.0, 30.0, 25.0) |]
// Compare each item with every other item for equality.
for ctr = 0 to temperatures.Length - 1 do
let temperatureInfo = temperatures[ctr]
for ctr2 = ctr + 1 to temperatures.Length - 1 do
printfn $"{temperatureInfo} = {temperatures[ctr2]}: {temperatureInfo.Equals temperatures[ctr2]}"
printfn ""
// The example displays the following output:
// (1/16/2009 12:00:00 AM, 3, 5, 4) = (4/22/2009 12:00:00 AM, 9, 14, 11): False
// (1/16/2009 12:00:00 AM, 3, 5, 4) = (4/22/2009 12:00:00 AM, 9, 14, 10): False
// (1/16/2009 12:00:00 AM, 3, 5, 4) = (6/1/2009 12:00:00 AM, 23, 28, 21): False
// (1/16/2009 12:00:00 AM, 3, 5, 4) = (4/22/2009 12:00:00 AM, 9, 14, 11): False
// (1/16/2009 12:00:00 AM, 3, 5, 4) = (9/6/2009 12:00:00 AM, 25, 30, 25): False
//
// (4/22/2009 12:00:00 AM, 9, 14, 11) = (4/22/2009 12:00:00 AM, 9, 14, 10): False
// (4/22/2009 12:00:00 AM, 9, 14, 11) = (6/1/2009 12:00:00 AM, 23, 28, 21): False
// (4/22/2009 12:00:00 AM, 9, 14, 11) = (4/22/2009 12:00:00 AM, 9, 14, 11): True
// (4/22/2009 12:00:00 AM, 9, 14, 11) = (9/6/2009 12:00:00 AM, 25, 30, 25): False
//
// (4/22/2009 12:00:00 AM, 9, 14, 10) = (6/1/2009 12:00:00 AM, 23, 28, 21): False
// (4/22/2009 12:00:00 AM, 9, 14, 10) = (4/22/2009 12:00:00 AM, 9, 14, 11): False
// (4/22/2009 12:00:00 AM, 9, 14, 10) = (9/6/2009 12:00:00 AM, 25, 30, 25): False
//
// (6/1/2009 12:00:00 AM, 23, 28, 21) = (4/22/2009 12:00:00 AM, 9, 14, 11): False
// (6/1/2009 12:00:00 AM, 23, 28, 21) = (9/6/2009 12:00:00 AM, 25, 30, 25): False
//
// (4/22/2009 12:00:00 AM, 9, 14, 11) = (9/6/2009 12:00:00 AM, 25, 30, 25): False
Module Example
Public Sub Main()
Dim temperatures() =
{ Tuple.Create(#1/16/2009#, 3, 5, 4), _
Tuple.Create(#4/22/2009#, 9, 14, 11), _
Tuple.Create(#4/22/2009#, 9, 14, 10), _
Tuple.Create(#6/01/2009#, 23, 28, 21), _
Tuple.Create(#4/22/2009#, 9, 14, 11), _
Tuple.Create(#9/06/2009#, 25, 30, 25) }
' Compare each item with every other item for equality.
For ctr As Integer = 0 To temperatures.Length - 1
Dim temperatureInfo = temperatures(ctr)
For ctr2 As Integer = ctr + 1 To temperatures.Length - 1
Console.WriteLine("{0} = {1}: {2}", temperatureInfo, temperatures(ctr2),
temperatureInfo.Equals(temperatures(ctr2)))
Next
Console.WriteLine()
Next
End Sub
End Module
' The example displays the following output:
' (1/16/2009 12:00:00 AM, 3, 5, 4) = (4/22/2009 12:00:00 AM, 9, 14, 11): False
' (1/16/2009 12:00:00 AM, 3, 5, 4) = (4/22/2009 12:00:00 AM, 9, 14, 10): False
' (1/16/2009 12:00:00 AM, 3, 5, 4) = (6/1/2009 12:00:00 AM, 23, 28, 21): False
' (1/16/2009 12:00:00 AM, 3, 5, 4) = (4/22/2009 12:00:00 AM, 9, 14, 11): False
' (1/16/2009 12:00:00 AM, 3, 5, 4) = (9/6/2009 12:00:00 AM, 25, 30, 25): False
'
' (4/22/2009 12:00:00 AM, 9, 14, 11) = (4/22/2009 12:00:00 AM, 9, 14, 10): False
' (4/22/2009 12:00:00 AM, 9, 14, 11) = (6/1/2009 12:00:00 AM, 23, 28, 21): False
' (4/22/2009 12:00:00 AM, 9, 14, 11) = (4/22/2009 12:00:00 AM, 9, 14, 11): True
' (4/22/2009 12:00:00 AM, 9, 14, 11) = (9/6/2009 12:00:00 AM, 25, 30, 25): False
'
' (4/22/2009 12:00:00 AM, 9, 14, 10) = (6/1/2009 12:00:00 AM, 23, 28, 21): False
' (4/22/2009 12:00:00 AM, 9, 14, 10) = (4/22/2009 12:00:00 AM, 9, 14, 11): False
' (4/22/2009 12:00:00 AM, 9, 14, 10) = (9/6/2009 12:00:00 AM, 25, 30, 25): False
'
' (6/1/2009 12:00:00 AM, 23, 28, 21) = (4/22/2009 12:00:00 AM, 9, 14, 11): False
' (6/1/2009 12:00:00 AM, 23, 28, 21) = (9/6/2009 12:00:00 AM, 25, 30, 25): False
'
' (4/22/2009 12:00:00 AM, 9, 14, 11) = (9/6/2009 12:00:00 AM, 25, 30, 25): False
注解
在以下条件下,该 obj 参数被视为等于当前实例:
它是一个 Tuple<T1,T2,T3,T4> 对象。
它的四个组件与当前实例的类型相同。
它的四个组件等于当前实例的组件。 相等性由每个组件的默认对象相等比较器确定。