¿Le resultó útil esta página?
Sus comentarios sobre este contenido son muy importantes. Háganos saber su opinión.
¿Tiene comentarios adicionales?
Caracteres restantes: 1500
Tuple(T1, T2, T3) (Clase)
Collapse the table of content
Expand the table of content
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

Tuple<T1, T2, T3> (Clase)

Representa una tupla de 3 o triple.

System.Object
  System.Tuple<T1, T2, T3>

Espacio de nombres:  System
Ensamblado:  mscorlib (en mscorlib.dll)

[SerializableAttribute]
public class Tuple<T1, T2, T3> : IStructuralEquatable, 
	IStructuralComparable, IComparable

Parámetros de tipo

T1

Tipo del primer componente de la tupla.

T2

Tipo del segundo componente de la tupla.

T3

Tipo del tercer componente de la tupla.

El tipo Tuple<T1, T2, T3> expone los siguientes miembros.

  NombreDescripción
Método públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsTuple<T1, T2, T3>Inicializa una nueva instancia de la clase Tuple<T1, T2, T3>.
Arriba

  NombreDescripción
Propiedad públicaCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsItem1Obtiene el valor del primer componente del objeto Tuple<T1, T2, T3> actual.
Propiedad públicaCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsItem2Obtiene el valor del segundo componente del objeto Tuple<T1, T2, T3> actual.
Propiedad públicaCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsItem3Obtiene el valor del tercer componente del objeto Tuple<T1, T2, T3> actual.
Arriba

  NombreDescripción
Método públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsEqualsDevuelve un valor que indica si el objeto Tuple<T1, T2, T3> actual es igual a un objeto especificado. (Invalida a Object.Equals(Object)).
Método protegidoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsFinalize Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por la recolección de elementos no utilizados. (Se hereda de Object).
Método públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsGetHashCodeDevuelve el código hash del objeto Tuple<T1, T2, T3> actual. (Invalida a Object.GetHashCode()).
Método públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsGetType Obtiene el Type de la instancia actual. (Se hereda de Object).
Método protegidoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsMemberwiseClone Crea una copia superficial del Object actual. (Se hereda de Object).
Método públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsToStringDevuelve una cadena que representa el valor de esta instancia de Tuple<T1, T2, T3>. (Invalida a Object.ToString()).
Arriba

  NombreDescripción
Implementación explícita de interfacesMétodo privadoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsIComparable.CompareToCompara el objeto Tuple<T1, T2, T3> actual con un objeto especificado y devuelve un entero que indica si el objeto actual precede o sigue al objeto especificado, o bien se encuentra en la misma posición que dicho objeto en el criterio de ordenación.
Implementación explícita de interfacesMétodo privadoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsIStructuralComparable.CompareToCompara el objeto Tuple<T1, T2, T3> actual con un objeto especificado utilizando un comparador especificado y devuelve un entero que indica si el objeto actual precede o sigue al objeto especificado, o bien se encuentra en la misma posición que dicho objeto en el criterio de ordenación.
Implementación explícita de interfacesMétodo privadoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsIStructuralEquatable.EqualsDevuelve un valor que indica si el objeto Tuple<T1, T2, T3> actual es igual que el objeto especificado según el método de comparación especificado.
Implementación explícita de interfacesMétodo privadoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsIStructuralEquatable.GetHashCodeCalcula el código hash del objeto Tuple<T1, T2, T3> actual usando el método de cálculo especificado.
Arriba

Una tupla es una estructura de datos que tiene un número y una secuencia de valores concretos. La clase Tuple<T1, T2, T3> representa una tupla de 3, o triple, que es una tupla que tiene tres componentes.

Puede crear instancias de un objeto Tuple<T1, T2, T3> llamando al constructor Tuple<T1, T2, T3> o al método estático Tuple.Create<T1, T2, T3>(T1, T2, T3). Puede recuperar el valor de los componentes de la tupla usando las propiedades de instancia de solo lectura Item1, Item2 y Item3.

Las tuplas se utilizan normalmente de cuatro maneras diferentes:

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

  • Para proporcionar un acceso, y manipulación, fácil de un conjunto de datos. En el siguiente ejemplo se define una matriz de objetos Tuple<T1, T2, T3> que contiene los nombres de los alumnos, sus puntuaciones medias de las pruebas y el número de pruebas realizadas. La matriz se pasa al método ComputeStatistics, que calcula la media y la desviación estándar de las puntuaciones de las pruebas.

    
    using System;
    
    public class Example
    {
       public static void Main()
       {
          Tuple<string, double, int>[] scores = 
                        { Tuple.Create("Jack", 78.8, 8),
                          Tuple.Create("Abbey", 92.1, 9), 
                          Tuple.Create("Dave", 88.3, 9),
                          Tuple.Create("Sam", 91.7, 8), 
                          Tuple.Create("Ed", 71.2, 5),
                          Tuple.Create("Penelope", 82.9, 8),
                          Tuple.Create("Linda", 99.0, 9),
                          Tuple.Create("Judith", 84.3, 9) };
          var result = ComputeStatistics(scores);
          Console.WriteLine("Mean score: {0:N2} (SD={1:N2}) (n={2})", 
                            result.Item2, result.Item3, result.Item1);
       }
    
       private static Tuple<int, double, double> ComputeStatistics(Tuple<string, double, int>[] scores) 
       {
          int n = 0;
          double sum = 0;
    
          // Compute the mean.
          foreach (var score in scores)
          {
             n += score.Item3;
             sum += score.Item2 * score.Item3;
          }
          double mean = sum / n;
    
          // Compute the standard deviation.
          double ss = 0;
          foreach (var score in scores)
          {
             ss = Math.Pow(score.Item2 - mean, 2);
          }
          double sd = Math.Sqrt(ss/scores.Length);
          return Tuple.Create(scores.Length, mean, sd);
       }
    }
    // The example displays the following output:
    //       Mean score: 87.02 (SD=0.96) (n=8)
    
    
    
  • Para devolver varios valores de un método sin el uso de parámetros out (en C#) o parámetros ByRef (en Visual Basic). Por ejemplo, el ejemplo anterior devuelve sus estadísticas de puntuaciones de la prueba de resumen en un objeto Tuple<T1, T2, T3>.

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

.NET Framework

Compatible con: 4.5.2, 4.5.1, 4.5, 4

.NET Framework Client Profile

Compatible con: 4

Biblioteca de clases portable

Compatible con: Biblioteca de clases portable

.NET para aplicaciones de la Tienda Windows

Compatible con: Windows 8

.NET para aplicaciones de Windows Phone

Compatible con: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2015 Microsoft