Tuple<T1,T2,T3>.Item3 Tuple<T1,T2,T3>.Item3 Tuple<T1,T2,T3>.Item3 Tuple<T1,T2,T3>.Item3 Property

Definición

Obtiene el valor del tercer componente del objeto Tuple<T1,T2,T3> actual.Gets the value of the current Tuple<T1,T2,T3> object's third component.

public:
 property T3 Item3 { T3 get(); };
public T3 Item3 { get; }
member this.Item3 : 'T3
Public ReadOnly Property Item3 As T3

Valor de propiedad

T3 T3 T3 T3

Valor del tercer componente del objeto Tuple<T1,T2,T3> actual.The value of the current Tuple<T1,T2,T3> object's third component.

Ejemplos

En el ejemplo siguiente se define una Tuple<T1,T2,T3> matriz de objetos que contienen los nombres de los estudiantes, sus puntuaciones de pruebas medias y el número de pruebas tomadas.The following example defines an array of Tuple<T1,T2,T3> objects that contain the names of students, their average test scores, and the number of tests taken. La matriz se pasa al ComputeStatistics método, que calcula la puntuación media, la desviación estándar y el número de casos de los que se calculan las estadísticas.The array is passed to the ComputeStatistics method, which calculates the mean score, standard deviation, and number of cases from which the statistics are calculated. Estos valores se almacenan en Tuple<T1,T2,T3> el objeto devuelto por el ComputeStatistics método.These values are stored in the Tuple<T1,T2,T3> object that is returned by the ComputeStatistics method. La Item3 propiedad contiene la desviación estándar.The Item3 property contains the standard deviation.

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)
Module Example
   Public Sub Main()
      Dim 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) }
      Dim result = ComputeStatistics(scores)
      Console.WriteLine("Mean score: {0:N2} (SD={1:N2}) (n={2})", 
                        result.Item2, result.Item3, result.Item1)
   End Sub
   
   Private Function ComputeStatistics(scores() As Tuple(Of String, Double, Integer)) _ 
                                As Tuple(Of Integer, Double, Double)
      Dim n As Integer = 0      
      Dim sum As Double = 0
      
      ' Compute the mean.
      For Each score In scores
         n+= score.Item3 
         sum += score.Item2 * score.Item3
      Next     
      Dim mean As Double = sum / n

      ' Compute the standard deviation.
      Dim ss As Double = 0
      For Each score In scores
         ss = Math.Pow(score.Item2 - mean, 2)
      Next
      Dim sd As Double = Math.Sqrt(ss/scores.Length)
      Return Tuple.Create(scores.Length, mean, sd)
   End Function
End Module
' The example displays the following output:
'       Mean score: 87.02 (SD=0.96) (n=8)

Comentarios

Puede determinar de forma dinámica el tipo de Item3 componente de una de estas dos maneras:You can dynamically determine the type of the Item3 component in one of two ways:

  • Llamando al GetType método en el valor devuelto por la Item3 propiedad.By calling the GetType method on the value returned by the Item3 property.

  • Recuperando el Type objeto que representa el Tuple<T1,T2,T3> objeto y recuperando el tercer elemento de la matriz devuelta por su Type.GetGenericArguments método.By retrieving the Type object that represents the Tuple<T1,T2,T3> object, and retrieving the third element from the array that is returned by its Type.GetGenericArguments method.

Se aplica a