# Tuple<T1,T2>.Equals(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``

#### パラメーター

obj
Object

このインスタンスと比較するオブジェクト。

Boolean

## 例

``````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>

• その 2 つのコンポーネントは、現在のインスタンスと同じ型です。

• その 2 つのコンポーネントは、現在のインスタンスのコンポーネントと等しくなります。 等しいかどうかは、各コンポーネントの既定のオブジェクトの等値比較子によって判断されます。