Freigeben über


Tuple<T1,T2,T3>.Item2 Eigenschaft

Definition

Ruft den Wert der zweiten Komponente des aktuellen Tuple<T1,T2,T3>-Objekts ab.

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

Eigenschaftswert

T2

Der Wert der zweiten Komponente des aktuellen Tuple<T1,T2,T3>-Objekts.

Beispiele

Im folgenden Beispiel wird ein Array von Objekten definiert, die die Namen von Tuple<T1,T2,T3> Kursteilnehmern, deren Durchschnittliche Testbewertungen und die Anzahl der durchgeführten Tests enthalten. Das Array wird an die Methode übergeben, die die Mittelbewertung, Die Standardabweichung und die Anzahl der Fälle berechnet, von denen ComputeStatistics die Statistiken berechnet werden. Diese Werte werden im Objekt gespeichert, das von der Tuple<T1,T2,T3> ComputeStatistics Methode zurückgegeben wird. Die Item2 Eigenschaft enthält die mittelwertte Testbewertung.

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)
open System

let computeStatistics (scores: Tuple<string, double, int>[]) = 
    let mutable n = 0
    let mutable sum = 0.

    // Compute the mean.
    for score in scores do
        n <- n + score.Item3
        sum <- sum + score.Item2 * double score.Item3
    let mean = sum / double n
    
    // Compute the standard deviation.
    let mutable ss = 0.
    for score in scores do
        ss <- (score.Item2 - mean) ** 2.
    let sd = sqrt (ss / double scores.Length)
    Tuple.Create(scores.Length, mean, sd)

let 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) |]
let result = computeStatistics scores
printfn $"Mean score: {result.Item2:N2} (SD={result.Item3:N2}) (n={result.Item1})"
// 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)

Hinweise

Sie können den Typ der Item2 Komponente dynamisch auf zwei Arten bestimmen:

  • Durch Aufrufen der GetType Methode auf dem Wert, der von der Item2 Eigenschaft zurückgegeben wird.

  • Indem Sie das Objekt abrufen, das das Type Tuple<T1,T2,T3> Objekt darstellt, und das zweite Element aus dem Array abrufen, das von der Type.GetGenericArguments Methode zurückgegeben wird.

Gilt für