Прочитать на английском

Поделиться через


Tuple<T1,T2>.Equals(Object) Метод

Определение

Возвращает значение, показывающее, равен ли текущий объект Tuple<T1,T2> указанному объекту.

public override bool Equals (object obj);
public override bool Equals (object? obj);

Параметры

obj
Object

Объект, сравниваемый с данным экземпляром.

Возвращаемое значение

Boolean

Значение 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

Комментарии

Параметр obj считается равным текущему экземпляру в следующих условиях:

  • Tuple<T1,T2> Это объект.

  • Его два компонента относятся к тем же типам, что и текущий экземпляр.

  • Эти два компонента равны текущим экземплярам. Равенство определяется компаратором равенства объектов по умолчанию для каждого компонента.

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

Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0