C# | ValueTuple <T1,T2,T3> Estructura

La estructura ValueTuple <T1,T2,T3> se utiliza para crear una tupla de triple valor o 3-ValueTuple. Representa una tupla de valor que almacena tres elementos. Proporciona implementación en tiempo de ejecución de tuplas de valor . Puede crear la instancia de ValueTuple <T1,T2,T3> Struct usando el constructor ValueTuple<T1, T2, T3>(T1, T2, T3) , o usando el método ValueTuple.Create o simplemente usando paréntesis() . Puede recuperar el valor de los elementos sin nombre de la tupla de valor utilizando la propiedad predeterminada, o se puede acceder directamente a los elementos con nombre con la ayuda de sus nombres.

Puntos importantes:

  • Implementa las interfaces IStructuralComparable , IStructuralEquatable , IComparable , IComparable<ValueTuple<T1, T2, T3>> , IEquatable<ValueTuple<T1, T2, T3>> e ITuple .
  • Se define en el espacio de nombres del sistema.
  • También puede almacenar elementos duplicados.
  • Los campos son mutables. Entonces, puede cambiar el valor de ValueTuple <T1,T2,T3>.
  • Aquí, los miembros como Item1 , Item2 y Item3 son campos, no propiedades.
  • Es de tipo valor no de tipo referencia.
  • Representa múltiples datos en un solo conjunto de datos.
  • Permite pasar múltiples valores a un método con la ayuda de parámetros únicos.

Constructor

Constructor Descripción
Tupla de valor<T1, T2, T3>(T1, T2, T3) Inicializa una nueva instancia de ValueTuple<T1, T2, T3>.

Campo

Campo Descripción
Objeto 1 Obtiene el valor del primer elemento de la instancia ValueTuple<T1, T2, T3> actual.
artículo2 Obtiene el valor del segundo elemento de la instancia ValueTuple<T1, T2, T3> actual. artículo3 Obtiene el valor del tercer elemento de la instancia ValueTuple<T1, T2, T3> actual.

Ejemplo:

// C# program to illustrate how to
// access the element of ValueTuple<T1, 
// T2, T3>
using System;
  
class GFG {
  
    // Main Method
    static public void Main()
    {
  
        // Creating a value tuple
        // Using Create method
        var Mylibrary = ValueTuple.Create(3456,
                "The Guide", "R. K. Narayan");
  
        // Display the element of the given value tuple
        Console.WriteLine("Book Details: ");
        Console.WriteLine("Book Id: {0}", Mylibrary.Item1);
        Console.WriteLine("Book Name: {0}", Mylibrary.Item2);
        Console.WriteLine("Author Name: {0}", Mylibrary.Item3);
    }
}
Producción:

Book Details: 
Book Id: 3456
Book Name: The Guide
Author Name: R. K. Narayan

Métodos

Método Descripción
Comparar con (tupla de valor) Compara la instancia de ValueTuple<T1, T2, T3> actual con una instancia de ValueTuple<T1, T2, T3> especificada.
Es igual a (Objeto) Devuelve un valor que indica si la instancia actual de ValueTuple<T1, T2, T3> es igual a un objeto especificado.
Es igual a (tupla de valor) Devuelve un valor que indica si la instancia actual de ValueTuple<T1, T2, T3> es igual a una instancia de ValueTuple<T1, T2, T3> especificada.
Obtener código hash() Calcula el código hash para la instancia actual de ValueTuple<T1, T2, T3>.
Enstringr() Devuelve una string que representa el valor de esta instancia de ValueTuple<T1, T2, T3>.

Ejemplo:

// C# program to check the given 
// value tuples are equal or not
using System;
  
class GFG {
  
    // Main method
    static public void Main()
    {
  
        // Creating 3-ValueTuple
        // Using Create method
        var T1 = ValueTuple.Create(346, 784, 45);
        var T2 = ValueTuple.Create(346, 7743, 56);
  
        // Check if both the value tuples are equal or not
        if (T1.Equals(T2)) 
        {
            Console.WriteLine("Code is correct...!!");
        }
  
        else 
        {
            Console.WriteLine("Incorrect Code...!!");
        }
    }
}
Producción:

Incorrect Code...!!

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 *