Tuple<T1,T2,T3>.Item2 Proprietà

Definizione

Ottiene il valore del secondo componente dell'oggetto Tuple<T1,T2,T3> corrente.Gets the value of the current Tuple<T1,T2,T3> object's second component.

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

Valore della proprietà

T2

Valore del secondo componente dell'oggetto Tuple<T1,T2,T3> corrente.The value of the current Tuple<T1,T2,T3> object's second component.

Esempio

Nell'esempio seguente viene definita una matrice di oggetti Tuple<T1,T2,T3> che contengono i nomi degli studenti, i punteggi di test medi e il numero di test eseguiti.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 matrice viene passata al metodo ComputeStatistics, che calcola il Punteggio medio, la deviazione standard e il numero di case da cui vengono calcolate le statistiche.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. Questi valori vengono archiviati nell'oggetto Tuple<T1,T2,T3> restituito dal metodo ComputeStatistics.These values are stored in the Tuple<T1,T2,T3> object that is returned by the ComputeStatistics method. La proprietà Item2 contiene il punteggio del test medio.The Item2 property contains the mean test score.

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)

Commenti

È possibile determinare in modo dinamico il tipo di componente Item2 in uno dei due modi seguenti:You can dynamically determine the type of the Item2 component in one of two ways:

  • Chiamando il metodo GetType sul valore restituito dalla proprietà Item2.By calling the GetType method on the value that is returned by the Item2 property.

  • Recuperando l'oggetto Type che rappresenta l'oggetto Tuple<T1,T2,T3> e recuperando il secondo elemento dalla matrice restituita dal relativo metodo Type.GetGenericArguments.By retrieving the Type object that represents the Tuple<T1,T2,T3> object, and retrieving the second element from the array that is returned by its Type.GetGenericArguments method.

Si applica a