tuple name item create change c# .net c#-4.0 .net-4.0 tuples

name - tuple c#



¿Qué y cuándo usar Tuple? (5)

Este artículo msdn lo explica muy bien con ejemplos, " Una tupla es una estructura de datos que tiene un número específico y una secuencia de elementos ".

Las tuplas se usan comúnmente de cuatro maneras:

  1. Para representar un solo conjunto de datos. Por ejemplo, una tupla puede representar un registro de base de datos, y sus componentes pueden representar campos individuales del registro.

  2. Para proporcionar un acceso fácil a, y la manipulación de, un conjunto de datos.

  3. Para devolver varios valores de un método sin utilizar los parámetros (en C #) o los parámetros ByRef (en Visual Basic).

  4. Pasar múltiples valores a un método a través de un solo parámetro. Por ejemplo, el método Thread.Start(Object) tiene un único parámetro que le permite suministrar un valor al método que ejecuta el hilo en el momento del inicio. Si proporciona un objeto Tuple<T1, T2, T3> como argumento del método, puede proporcionar la rutina de inicio del hilo con tres elementos de datos.

Esta pregunta ya tiene una respuesta aquí:

Que alguien por favor explique qué es una Tuple y cómo usarla en un Escenario del mundo real. Me gustaría saber cómo esto puede enriquecer mi experiencia de codificación.


Esto es lo más importante que debe saber sobre el tipo de Tuple. Tuple es una clase, no una estructura. Por lo tanto, se asignará en el montón administrado. Cada instancia de clase que se asigna se suma a la carga de la recolección de basura.

Nota: Las propiedades Item1, Item2 y además no tienen setters. No puedes asignarlos. El Tuple es inmutable una vez creado en la memoria.


La diferencia entre una tupla y una clase es que una tupla no tiene nombres de propiedad. Esto casi nunca es algo bueno, y solo utilizaría una tupla cuando los argumentos son bastante insignificantes, como en una fórmula matemática abstracta, por ejemplo. el cálculo abstracto sobre 5,6,7 dimensiones puede tomar una tupla para las coordenadas.


Las clases de Tuple permiten a los desarrolladores ser "rápidos y perezosos" al no definir una clase específica para un uso específico.

Los nombres de propiedad son Item1, Item2, Item3 ..., que pueden no ser significativos en algunos casos o sin documentación.

Las clases Tuple tienen fuertes parámetros genéricos. Todavía los usuarios de las clases Tuple pueden inferir del tipo de parámetros genéricos.


Una tupla le permite combinar múltiples valores de tipos posiblemente diferentes en un solo objeto sin tener que crear una clase personalizada. Esto puede ser útil si desea escribir un método que, por ejemplo, devuelva tres valores relacionados, pero no desea crear una nueva clase.

Por lo general, debes crear una clase, ya que esto te permite dar nombres útiles a cada propiedad. El código que usa extensamente tuplas se volverá ilegible rápidamente porque las propiedades se denominan Item2 , Item3 , Item3 , etc.