Tuple<T1,T2>.Equals(Object) Tuple<T1,T2>.Equals(Object) Tuple<T1,T2>.Equals(Object) Tuple<T1,T2>.Equals(Object) Method

Определение

Возвращает значение, показывающее, равен ли текущий объект Tuple<T1,T2> указанному объекту.Returns a value that indicates whether the current Tuple<T1,T2> object is equal to a specified object.

public:
 override bool Equals(System::Object ^ obj);
public override bool Equals (object obj);
override this.Equals : obj -> bool
Public Overrides Function Equals (obj As Object) As Boolean

Параметры

obj
Object Object Object Object

Объект, сравниваемый с данным экземпляром.The object to compare with this instance.

Возвраты

Значение true, если текущий экземпляр равен указанному объекту; в противном случае — false.true if the current instance is equal to the specified object; otherwise, false.

Примеры

В следующем примере вызывается Tuple<T1,T2>.Equals(Object) метод, чтобы определить, равны ли объекты в Tuple<T1,T2> массиве объектов друг другу.The following example calls the Tuple<T1,T2>.Equals(Object) method to determine whether any of the objects in an array of Tuple<T1,T2> objects are equal to one another. Выходные данные отражают тот факт, что Equals(Object) метод возвращает true значение при Tuple<T1,T2> сравнении объектов, компоненты которых имеют одинаковые значения.The output reflects the fact that the Equals(Object) method returns true when comparing Tuple<T1,T2> objects whose components have equal values.

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++)
      {
         Tuple<string, Nullable<int>> currentTuple = scores[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
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
         Dim currentTuple As Tuple(Of String, Nullable(Of Integer)) = scores(ctr)
         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 Параметр считается равным текущему экземпляру при следующих условиях.The obj parameter is considered to be equal to the current instance under the following conditions:

  • Tuple<T1,T2> Это объект.It is a Tuple<T1,T2> object.

  • Два компонента имеют те же типы, что и текущий экземпляр.Its two components are of the same types as the current instance.

  • Его два компонента равны значениям текущего экземпляра.Its two components are equal to those of the current instance. Равенство определяется компаратором равенства объектов по умолчанию для каждого компонента.Equality is determined by the default object equality comparer for each component.

Применяется к