Tuple<T1,T2>.Equals(Object) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
返回一个值,该值指示当前 Tuple<T1,T2> 对象是否等于指定对象。
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>.Equals(Object) 该方法来确定对象数组 Tuple<T1,T2> 中的任何对象是否彼此相等。 输出反映了该方法在比较Equals(Object)其组件具有相等值的对象时返回true的事实Tuple<T1,T2>。
using System;
public class Example
{
public static void Main()
{
Tuple<string, Nullable<int>>[] scores =
{ new Tuple<string, Nullable<int>>("Dan", 90),
new Tuple<string, Nullable<int>>("Ernie", null),
new Tuple<string, Nullable<int>>("Jill", 88),
new Tuple<string, Nullable<int>>("Ernie", null),
new Tuple<string, Nullable<int>>("Nancy", 88),
new Tuple<string, Nullable<int>>("Dan", 90) };
// Compare the Tuple objects
for (int ctr = 0; ctr < scores.Length; ctr++)
{
for (int innerCtr = ctr + 1; innerCtr < scores.Length; innerCtr++)
{
Console.WriteLine("{0} = {1}: {2}",
scores[ctr], scores[innerCtr],
scores[ctr].Equals(scores[innerCtr]));
}
Console.WriteLine();
}
}
}
// The example displays the following output:
// (Dan, 90) = (Ernie, ): False
// (Dan, 90) = (Jill, 88): False
// (Dan, 90) = (Ernie, ): False
// (Dan, 90) = (Nancy, 88): False
// (Dan, 90) = (Dan, 90): True
//
// (Ernie, ) = (Jill, 88): False
// (Ernie, ) = (Ernie, ): True
// (Ernie, ) = (Nancy, 88): False
// (Ernie, ) = (Dan, 90): False
//
// (Jill, 88) = (Ernie, ): False
// (Jill, 88) = (Nancy, 88): False
// (Jill, 88) = (Dan, 90): False
//
// (Ernie, ) = (Nancy, 88): False
// (Ernie, ) = (Dan, 90): False
//
// (Nancy, 88) = (Dan, 90): False
open System
let scores =
[| Tuple<string, Nullable<int>>("Dan", 90)
Tuple<string, Nullable<int>>("Ernie", Nullable())
Tuple<string, Nullable<int>>("Jill", 88)
Tuple<string, Nullable<int>>("Ernie", Nullable())
Tuple<string, Nullable<int>>("Nancy", 88)
Tuple<string, Nullable<int>>("Dan", 90) |]
// Compare the Tuple objects
for ctr = 0 to scores.Length - 1 do
for innerCtr = ctr + 1 to scores.Length - 1 do
printfn $"{scores[ctr]} = {scores[innerCtr]}: {scores[ctr].Equals scores[innerCtr]}"
printfn ""
// The example displays the following output:
// (Dan, 90) = (Ernie, ): False
// (Dan, 90) = (Jill, 88): False
// (Dan, 90) = (Ernie, ): False
// (Dan, 90) = (Nancy, 88): False
// (Dan, 90) = (Dan, 90): True
//
// (Ernie, ) = (Jill, 88): False
// (Ernie, ) = (Ernie, ): True
// (Ernie, ) = (Nancy, 88): False
// (Ernie, ) = (Dan, 90): False
//
// (Jill, 88) = (Ernie, ): False
// (Jill, 88) = (Nancy, 88): False
// (Jill, 88) = (Dan, 90): False
//
// (Ernie, ) = (Nancy, 88): False
// (Ernie, ) = (Dan, 90): False
//
// (Nancy, 88) = (Dan, 90): False
Module Example
Public Sub Main()
Dim scores() As Tuple(Of String, Nullable(Of Integer)) =
{ New Tuple(Of String, Nullable(Of Integer))("Dan", 90),
New Tuple(Of String, Nullable(Of Integer))("Ernie", Nothing),
New Tuple(Of String, Nullable(Of Integer))("Jill", 88),
New Tuple(Of String, Nullable(Of Integer))("Ernie", Nothing),
New Tuple(Of String, Nullable(Of Integer))("Nancy", 88),
New Tuple(Of String, Nullable(Of Integer))("Dan", 90) }
' Compare the Tuple objects
For ctr As Integer = 0 To scores.Length - 1
For innerCtr As Integer = ctr + 1 To scores.Length - 1
Console.WriteLine("{0} = {1}: {2}",
scores(ctr), scores(innerCtr),
scores(ctr).Equals(scores(innerCtr)))
Next
Console.WriteLine()
Next
End Sub
End Module
' The example displays the following output:
' (Dan, 90) = (Ernie, ): False
' (Dan, 90) = (Jill, 88): False
' (Dan, 90) = (Ernie, ): False
' (Dan, 90) = (Nancy, 88): False
' (Dan, 90) = (Dan, 90): True
'
' (Ernie, ) = (Jill, 88): False
' (Ernie, ) = (Ernie, ): True
' (Ernie, ) = (Nancy, 88): False
' (Ernie, ) = (Dan, 90): False
'
' (Jill, 88) = (Ernie, ): False
' (Jill, 88) = (Nancy, 88): False
' (Jill, 88) = (Dan, 90): False
'
' (Ernie, ) = (Nancy, 88): False
' (Ernie, ) = (Dan, 90): False
'
' (Nancy, 88) = (Dan, 90): False
注解
在以下条件下,该 obj 参数被视为等于当前实例:
它是一个 Tuple<T1,T2> 对象。
它的两个组件与当前实例的类型相同。
它的两个组件等于当前实例的组件。 相等性由每个组件的默认对象相等比较器确定。