Estructura ValueTuple en C#

En C#, la estructura ValueTuple proporciona métodos estáticos que se utilizan para crear tuplas de valor . Se define en el espacio de nombres del sistema . Se presenta en .NET Framework 4.7 , que proporciona tuplas de implementación en tiempo de ejecución en C#. La estructura ValueTuple se utiliza para representar una tupla que no contiene ningún elemento. En general, proporciona métodos estáticos que se utilizan para crear o comparar tuplas de valor. Con la ayuda del método Create de la estructura ValueTuple, puede crear una tupla de valor que contenga elementos del 0 al 8. Se diferencia de la clase Tuple en los siguientes términos:

  • Es de tipo de valor, no de tipo de referencia.
  • Es mutable en lugar de solo lectura.
  • En ValueTuple, item1 , item2 , item3 , etc. los miembros de datos son campos en lugar de propiedades.

Esta estructura implementa las interfaces IStructuralComparable , IStructuralEquatable , IComparable , IComparable<ValueTuple> , IEquatable<ValueTuple> e ITuple .

Métodos

Método Descripción
Comparar con (tupla de valor) Compara la instancia de ValueTuple actual con una instancia de ValueTuple especificada.
Crear() Crea una nueva tupla de valor con cero componentes.
Crear<T1, T2, T3, T4, T5, T6, T7, T8>(T1, T2, T3, T4, T5, T6, T7, T8) Crea una nueva tupla de valor con 8 componentes (un octuple).
Crear<T1, T2, T3, T4, T5, T6, T7>(T1, T2, T3, T4, T5, T6, T7) Crea una nueva tupla de valor con 7 componentes (un séptuple).
Crear<T1, T2, T3, T4, T5, T6>(T1, T2, T3, T4, T5, T6) Crea una nueva tupla de valor con 6 componentes (un sexuplo).
Crear<T1, T2, T3, T4, T5>(T1, T2, T3, T4, T5) Crea una nueva tupla de valor con 5 componentes (un quíntuple).
Crear<T1, T2, T3, T4>(T1, T2, T3, T4) Crea una nueva tupla de valor con 4 componentes (un cuádruple).
Crear<T1, T2, T3>(T1, T2, T3) Crea una nueva tupla de valor con 3 componentes (un triple).
Crear<T1, T2>(T1, T2) Crea una nueva tupla de valor con 2 componentes (un par).
Crear<T1>(T1) Crea una nueva tupla de valor con 1 componente (un singleton).
Es igual a (tupla de valor) Determina si dos instancias de ValueTuple son iguales. Este método siempre devuelve verdadero.
Es igual a (Objeto) Devuelve un valor que indica si la instancia actual de ValueTuple es igual a un objeto especificado.
Obtener código hash() Devuelve el código hash de la instancia actual de ValueTuple.
Enstringr() Devuelve la representación de string de esta instancia de ValueTuple.

Ejemplo:

// C# program to illustrate the 
// methods of ValueTuple struct
using System;
  
class GFG {
  
    // Main method
    static public void Main()
    {
  
        // Creating a value tuple with 
        // zero element using Create method
        var MyTple1 = ValueTuple.Create();
  
        // Using GetHashCode method
        Console.WriteLine("HashCode of a value tuple with "+
                 "zero elements: " + MyTple1.GetHashCode());
  
        // Creating a value tuple 
        var MyTple2 = ValueTuple.Create(56, 3);
        var MyTple3 = ValueTuple.Create(56, 45);
  
        // Using CompareTo method
        int res1 = MyTple2.CompareTo(MyTple3);
          
        // Display result
        Console.WriteLine("CompareTo Method Result: " + res1);
    }
}

Producción:

HashCode of a value tuple with zero elements: 0
CompareTo Method Result: -1

Referencia:

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 *