¿Cómo crear 8-ValueTuple en C#?

En C#, una 8-ValueTuple es una tupla de tipo de valor que contiene ocho elementos y también se conoce como octuple . Puede crear un 8-ValueTuple usando dos formas diferentes:

  1. Uso del constructor ValueTuple<T1, T2, T3, T4, T5, T6, T7, TRest<(T1, T2, T3, T4, T5, T6, T7, TRest)
  2. Uso del método Create<T1, T2, T3, T4, T5, T6, T7, T8<(T1, T2, T3, T4, T5, T6, T7, T8)

Uso del constructor ValueTuple<T1, T2, T3, T4, T5, T6, T7, TRest<(T1, T2, T3, T4, T5, T6, T7, TRest)

Puede crear un 8-ValueTuple mediante el constructor ValueTuple<T1, T2, T3, T4, T5, T6, T7, TRest<(T1, T2, T3, T4, T5, T6, T7, TRest). Inicializa una nueva instancia de la estructura ValueTuple<T1, T2, T3, T4, T5, T6, T7, TRest<. Pero cuando crea una tupla de valor usando este constructor, debe especificar el tipo del elemento almacenado en la tupla de valor. Usando este constructor, también puede crear una tupla de valor que contenga nueve o más de nueve elementos usando el parámetro resto. Con la ayuda del parámetro rest, puede crear tuplas de valor n anidadas.

Sintaxis:

ValueTuple público (T1 elemento 1, T2 elemento 2, T3 elemento 3, T4 elemento 4, T5 elemento 5, T6 elemento 6, T7 elemento 7, TRest resto);

Parámetros:

  • item1: Es el valor del primer componente de la tupla de valor.
  • item2: Es el valor del segundo componente de la tupla de valor.
  • item3: Es el valor del componente de la tupla del tercer valor.
  • item4: Es el valor del cuarto componente de la tupla de valor.
  • item5: Es el valor del componente de la tupla de quinto valor.
  • item6: Es el valor del sexto componente de la tupla de valor.
  • item7: Es el valor del componente de la tupla del séptimo valor.
  • resto: Es la instancia de cualquier tipo de tupla de valor que contiene los valores de los elementos restantes de la tupla de valor.

Excepción: Esto dará ArgumentException si el resto no es un tipo de tupla de valor genérico.

Ejemplo:

// C# program to create a 8-ValueTuple
// using ValueTuple constructor
using System;
  
class GFG {
  
    // Main method
    static public void Main()
    {
  
        // Creating a value tuple with eight elements
        // Using ValueTuple<T1, T2, T3, T4, T5, T6,
        // T7, TRest>(T1, T2, T3, T4, T5, T6, T7, 
        // TRest rest) constructor
        ValueTuple<string, string, string, string, string, string,
          string, ValueTuple<string>> MyTpl = new ValueTuple<string,
                     string, string, string, string, string, string, 
                     ValueTuple<string>>("Rohan", "Sumit", "Soniya", 
                               "Shivam", "Raksha", "Purvi", "Mohan",
                                   new ValueTuple<string>("Nayan"));
  
        Console.WriteLine("Student 1: " + MyTpl.Item1);
        Console.WriteLine("Student 2: " + MyTpl.Item2);
        Console.WriteLine("Student 3: " + MyTpl.Item3);
        Console.WriteLine("Student 4: " + MyTpl.Item4);
        Console.WriteLine("Student 5: " + MyTpl.Item5);
        Console.WriteLine("Student 6: " + MyTpl.Item6);
        Console.WriteLine("Student 7: " + MyTpl.Item7);
        Console.WriteLine("Student 8: " + MyTpl.Rest);
    }
}
Producción:

Student 1: Rohan
Student 2: Sumit
Student 3: Soniya
Student 4: Shivam
Student 5: Raksha
Student 6: Purvi
Student 7: Mohan
Student 8: (Nayan)

Uso del método Create<T1, T2, T3, T4, T5, T6, T7, T8<(T1, T2, T3, T4, T5, T6, T7, T8)

También puede crear una tupla de 8 valores o una tupla de valor que contenga 8 elementos con la ayuda de Create<T1, T2, T3, T4, T5, T6, T7, T8<(T1, T2, T3, T4, T5, T6, T7, T8) método. Cuando utiliza este método, no es necesario especificar el tipo de elementos almacenados en la tupla de valor.

Sintaxis:

public static ValueTuple <T1, T2, T3, T4, T5, T6, T7, ValueTuple<T8>> Create< T1, T2, T3, T4, T5, T6, T7, T8> (T1 elemento 1, T2 elemento 2, T3 elemento 3 , T4 ítem 4, T5 ítem 5, T6 ítem 6, T7 ítem 7, T8 ítem 8);

Parámetros de tipo:

  • T1: Es el tipo del primer componente de la tupla de valor.
  • T2: Es el tipo del segundo componente de la tupla de valor.
  • T3: Es el tipo del tercer componente de la tupla de valor.
  • T4: Es el tipo del cuarto componente de la tupla de valor.
  • T5: Es el tipo del quinto componente de la tupla de valor.
  • T6: Es el tipo del sexto componente de la tupla de valor.
  • T7: Es el tipo del séptimo componente de la tupla de valor.
  • T8: Es el tipo del octavo componente de la tupla de valor.

Parámetros:

  • item1: Es el valor del primer componente de la tupla de valor.
  • item2: Es el valor del segundo componente de la tupla de valor.
  • item3: Es el valor del tercer componente de la tupla de valor.
  • item4: Es el valor del cuarto componente de la tupla de valor.
  • item5: Es el valor del quinto componente de la tupla de valor.
  • item6: Es el valor del sexto componente de la tupla de valor.
  • item7: Es el valor del séptimo componente de la tupla de valor.
  • item8: Es el valor del octavo componente de la tupla de valor.

Devoluciones: este método devuelve una tupla de valor con ocho elementos.

Ejemplo:

// C# program to create a 8-ValueTuple
// using Create Method
using System;
  
class GFG {
  
    // Main method
    static public void Main()
    {
  
        // Creating a value tuple with the 
        // eight elements using Create method
        var MyTple = ValueTuple.Create(45.67, 67.78, 56.8, 567.5,
                                       23.4, 56.7, 12.34, 35.56);
  
        // Display the components of the value tuple
        Console.WriteLine("Component 1: " + MyTple.Item1);
        Console.WriteLine("Component 2: " + MyTple.Item2);
        Console.WriteLine("Component 3: " + MyTple.Item3);
        Console.WriteLine("Component 4: " + MyTple.Item4);
        Console.WriteLine("Component 5: " + MyTple.Item5);
        Console.WriteLine("Component 6: " + MyTple.Item6);
        Console.WriteLine("Component 7: " + MyTple.Item7);
        Console.WriteLine("Component 8: " + MyTple.Item7);
    }
}
Producción:

Component 1: 45.67
Component 2: 67.78
Component 3: 56.8
Component 4: 567.5
Component 5: 23.4
Component 6: 56.7
Component 7: 12.34
Component 8: 12.34

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 *