Tuple<T1,T2,T3,T4,T5,T6,T7,TRest>.Equals(Object) Метод

Определение

Возвращает значение, показывающее, равен ли текущий объект Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> указанному объекту.Returns a value that indicates whether the current Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> 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

Объект, сравниваемый с данным экземпляром.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,T3,T4,T5,T6,T7,TRest>ных объектов, содержащих простые числа.The following example defines five Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> objects that contain prime numbers. Затем он сравнивает первый объект с каждым из оставшихся объектов.It then compares the first object with each of the remaining objects. Как видно из выходных данных, только первый объект и последний Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> равны, так как они имеют идентичное число компонентов с одинаковыми значениями.As the output shows, only the first and the last Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> objects are equal, because they have an identical number of components with identical values.

using System;

public class Class1
{
   public static void Main()
   {
      // Create five 8-tuple objects containing prime numbers.
      var prime1 = new Tuple<Int32, Int32, Int32, Int32, Int32, Int32, Int32, 
                           Tuple<Int32>> (2, 3, 5, 7, 11, 13, 17, 
                           new Tuple<Int32>(19));
      var prime2 = new Tuple<Int32, Int32, Int32, Int32, Int32, Int32, Int32, 
                           Tuple<Int32>> (23, 29, 31, 37, 41, 43, 47, 
                           new Tuple<Int32>(55));
      var prime3 = new Tuple<Int32, Int32, Int32, Int32, Int32, Int32, Int32, 
                           Tuple<Int32>> (3, 2, 5, 7, 11, 13, 17, 
                           new Tuple<Int32>(19)); 
      var prime4 = new Tuple<Int32, Int32, Int32, Int32, Int32, Int32, Int32, 
                           Tuple<Int32, Int32>> (2, 3, 5, 7, 11, 13, 17, 
                           new Tuple<Int32, Int32>(19, 23));
      var prime5 = new Tuple<Int32, Int32, Int32, Int32, Int32, Int32, Int32, 
                           Tuple<Int32>> (2, 3, 5, 7, 11, 13, 17, 
                           new Tuple<Int32>(19));
      Console.WriteLine("{0} = {1} : {2}", prime1, prime2, prime1.Equals(prime2));
      Console.WriteLine("{0} = {1} : {2}", prime1, prime3, prime1.Equals(prime3));
      Console.WriteLine("{0} = {1} : {2}", prime1, prime4, prime1.Equals(prime4));
      Console.WriteLine("{0} = {1} : {2}", prime1, prime5, prime1.Equals(prime5));
   }
}
// The example displays the following output:
//    (2, 3, 5, 7, 11, 13, 17, 19) = (23, 29, 31, 37, 41, 43, 47, 55) : False
//    (2, 3, 5, 7, 11, 13, 17, 19) = (3, 2, 5, 7, 11, 13, 17, 19) : False
//    (2, 3, 5, 7, 11, 13, 17, 19) = (2, 3, 5, 7, 11, 13, 17, 19, 23) : False
//    (2, 3, 5, 7, 11, 13, 17, 19) = (2, 3, 5, 7, 11, 13, 17, 19) : True
Module Example
   Public Sub Main()
      ' Create five 8-tuple objects containing prime numbers.
      Dim prime1 = New Tuple(Of Int32, Int32, Int32, Int32, Int32, Int32, Int32, 
                           Tuple(Of Int32)) (2, 3, 5, 7, 11, 13, 17, 
                           New Tuple(Of Int32)(19))
      Dim prime2 = New Tuple(Of Int32, Int32, Int32, Int32, Int32, Int32, Int32, 
                           Tuple(Of Int32)) (23, 29, 31, 37, 41, 43, 47, 
                           New Tuple(Of Int32)(55)) 
      Dim prime3 = New Tuple(Of Int32, Int32, Int32, Int32, Int32, Int32, Int32, 
                           Tuple(Of Int32)) (3, 2, 5, 7, 11, 13, 17, 
                           New Tuple(Of Int32)(19)) 
      Dim prime4 = New Tuple(Of Int32, Int32, Int32, Int32, Int32, Int32, Int32, 
                           Tuple(Of Int32, Int32)) (2, 3, 5, 7, 11, 13, 17, 
                           New Tuple(Of Int32, Int32)(19, 23))
      Dim prime5 = New Tuple(Of Int32, Int32, Int32, Int32, Int32, Int32, Int32, 
                           Tuple(Of Int32)) (2, 3, 5, 7, 11, 13, 17, 
                           New Tuple(Of Int32)(19))
      Console.WriteLine("{0} = {1} : {2}", prime1, prime2, prime1.Equals(prime2))
      Console.WriteLine("{0} = {1} : {2}", prime1, prime3, prime1.Equals(prime3))
      Console.WriteLine("{0} = {1} : {2}", prime1, prime4, prime1.Equals(prime4))
      Console.WriteLine("{0} = {1} : {2}", prime1, prime5, prime1.Equals(prime5))
   End Sub
End Module
' The example displays the following output:
'    (2, 3, 5, 7, 11, 13, 17, 19) = (23, 29, 31, 37, 41, 43, 47, 55) : False
'    (2, 3, 5, 7, 11, 13, 17, 19) = (3, 2, 5, 7, 11, 13, 17, 19) : False
'    (2, 3, 5, 7, 11, 13, 17, 19) = (2, 3, 5, 7, 11, 13, 17, 19, 23) : False
'    (2, 3, 5, 7, 11, 13, 17, 19) = (2, 3, 5, 7, 11, 13, 17, 19) : True

Комментарии

Параметр obj считается равным текущему экземпляру, если он соответствует всем следующим условиям:The obj parameter is considered to be equal to the current instance if it meets all the following conditions:

  • Это объект Tuple<T1,T2,T3,T4,T5,T6,T7,TRest>.It is a Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> object.

  • Он имеет то же общее число компонентов, которые имеют те же типы, что и текущий экземпляр.It has the same total number of components that are of the same types as the current instance.

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

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