Comprobando si dos ValueTuple<T1> son iguales o no en C#

ValueTuple es una estructura introducida en C# 7.0 que representa el tipo de valor Tuple. Ya está incluido en .NET Framework 4.7 o una versión superior. Le permite almacenar un conjunto de datos que contiene múltiples valores que pueden o no estar relacionados entre sí.
En ValueTuple<T1> , puede comprobar si dos tuplas de valor son idénticas o no mediante el método Equals. O, en otras palabras, podemos decir que este método devolverá el valor que indica si la instancia de ValueTuple<T1> dada es igual o no al objeto especificado. Devolverá verdadero si las tuplas de valor dadas son iguales, de lo contrario, devolverá falso. Este método se puede sobrecargar de dos maneras diferentes:

  1. Método Equals(ValueTuple<T1>)
  2. Método Igual a (Objeto)

1. Método Equals(ValueTuple<T1>)

El método Equals(ValueTuple<T1>) se utiliza para comprobar si las dos instancias de ValueTuple<T1> son iguales o no. Siempre devuelve verdadero. El tipo de retorno de este método es System.Boolean . En el método Equals(ValueTuple<T1>), el otro parámetro se considera igual a la instancia actual bajo las siguientes condiciones:

  • Los componentes son del mismo tipo que los de la instancia actual.
  • Los elementos son iguales a los de la instancia actual y la igualdad de cada elemento está determinada por el comparador de igualdad predeterminado.

Sintaxis:

public bool Equals (ValueTuple<T1>);

Devoluciones: el tipo de devolución de este método es System.Boolean . Devuelve verdadero si la instancia dada es igual a la instancia especificada. De lo contrario, devuelve falso.

Ejemplo:

// C# program to illustrate the 
// use of Equals(ValueTuple<T1>)
// Method
using System;
  
namespace exampleofvaluetuple {
  
class GFG {
  
    // Main Method
    static void Main(string[] args)
    {
        // 1-ValueTuple
        var u1 = ValueTuple.Create(47);
        var u2 = ValueTuple.Create(499);
        Console.WriteLine("Result 1: {0}", u1.Equals(u2));
  
        // 2-ValueTuple
        var y1 = ValueTuple.Create(22, 33);
        var y2 = ValueTuple.Create(22, 444);
        Console.WriteLine("Result 2: {0}", y1.Equals(y2));
  
        // 3-ValueTuple
        var a1 = ValueTuple.Create(23, 45, 67);
        var a2 = ValueTuple.Create(23, 45, 67);
        Console.WriteLine("Result 3: {0}", a1.Equals(a2));
  
        // 4-ValueTuple
        var z1 = ValueTuple.Create(2, 37, 48, 1);
        var z2 = ValueTuple.Create(0, 23, 56, 78);
        Console.WriteLine("Result 4: {0}", z1.Equals(z2));
    }
}
}
Producción:

Result 1: False
Result 2: False
Result 3: True
Result 4: False

2. Método Igual a (Objeto)

En ValueTuple<T1>, el método Equals(Object) se usa para devolver un valor que muestra que la instancia actual es igual al objeto especificado. En el método Equals(Object), se considera que obj es igual a la instancia actual bajo las siguientes condiciones:

  • Es un tipo de valor ValueTuple.
  • Los componentes son del mismo tipo que los de la instancia actual.
  • Los elementos son iguales a los de la instancia actual y la igualdad de cada elemento está determinada por el comparador de igualdad predeterminado.

Sintaxis:

public override bool Equals (object obj);

Aquí, obj es el objeto a comparar con esta instancia.

Devoluciones: el tipo de devolución de este método es System.Boolean . Devuelve verdadero si la instancia dada es igual al objeto especificado. De lo contrario, devuelve falso.

Ejemplo:

// C# program to illustrate the 
// use of Equals(Object) method
using System;
  
namespace exampleofvaluetuple {
  
class GFG {
  
    // Main Method
    static void Main(string[] args)
    {
        // 1-ValueTuple
        var u1 = ValueTuple.Create(100);
        var u2 = ValueTuple.Create(100);
  
        // Checking the given value 
        // tuples are equal or not
        // Using Equal() Method
        if (u1.Equals(u2) == true) {
  
            Console.WriteLine("Both value tuples are equal");
        }
        else {
            Console.WriteLine("Both value tuples are not equal");
        }
    }
}
}
Producción:

Both value tuples are equal

Publicación traducida automáticamente

Artículo escrito por ankita_saini y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *