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, T2, T3, T4, T5, T6, T7, TRest > , 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, T2, T3, T4, T5, T6, T7, TRest > 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, T2, T3, T4, T5, T6, T7, TRest >)
El método Equals(ValueTuple<T1, T2, T3, T4, T5, T6, T7, TRest>) se utiliza para comprobar si las dos instancias de ValueTuple<T1, T2, T3, T4, T5, T6, T7, TRest > son igual o no. Siempre devuelve verdadero. El tipo de retorno de este método es System.Boolean . En el método Equals(ValueTuple<T1, T2, T3, T4, T5, T6, T7, TRest >) 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, T2, T3, T4, T5, T6, T7, TRest> other);
Aquí, el otro es una tupla de valor para comparar con la instancia actual.
Tipo de devolución: 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, T2, T3, T4, // T5, T6, T7, TRest>) Method using System; namespace exampleofvaluetuple { class GFG { // Main Method static void Main(string[] args) { // 8-ValueTuple var u1 = ValueTuple.Create(4, 3, 5, 3, 9, 98, 1, 78); var u2 = ValueTuple.Create(4, 3, 5, 3, 9, 76, 98, 100); Console.WriteLine("Result 1: {0}", u1.Equals(u2)); // 10-ValueTuple var y1 = ValueTuple.Create(4, 3, 5, 3, 9, 98, 1, (1, 2, 3)); var y2 = ValueTuple.Create(4, 3, 5, 3, 9, 98, 1, (1, 2, 3)); Console.WriteLine("Result 2: {0}", y1.Equals(y2)); // 13-ValueTuple var a1 = ValueTuple.Create(4, 3, 5, 3, 9, 98, 1, (1, 2, 3, 7, 8, 9)); var a2 = ValueTuple.Create(4, 3, 5, 3, 9, 98, 1, (1, 2, 3, 7, 8, 30)); Console.WriteLine("Result 3: {0}", a1.Equals(a2)); } } }
Result 1: False Result 2: True Result 3: False
2. Método Igual a (Objeto)
En ValueTuple<T1, T2, T3, T4, T5, T6, T7, TRest> , 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.
Tipo de devolución: 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) { // 8-ValueTuple var u1 = ValueTuple.Create(4, 3, 5, 3, 9, 98, 1, 78); var u2 = ValueTuple.Create(4, 3, 5, 3, 9, 98, 1, 78); // 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"); } } } }
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