Freigeben über


Tuple<T1,T2,T3>.Item3 Eigenschaft

Definition

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

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

Eigenschaftswert

T3

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

Beispiele

Im folgenden Beispiel wird ein Array von Tuple<T1,T2,T3> Objekten definiert, die die Namen der Kursteilnehmer, ihre durchschnittlichen Testergebnisse und die Anzahl der durchgeführten Tests enthalten. Das Array wird an die ComputeStatistics Methode übergeben, die die Mittelwertbewertung, die Standardabweichung und die Anzahl der Fälle berechnet, aus denen die Statistiken berechnet werden. Diese Werte werden im Tuple<T1,T2,T3> Objekt gespeichert, das von der ComputeStatistics Methode zurückgegeben wird. Die Item3 Eigenschaft enthält die Standardabweichung.

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 Item3 Komponente auf zwei Arten dynamisch bestimmen:

  • Durch Aufrufen der GetType Methode für den von der Item3 Eigenschaft zurückgegebenen Wert.

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

Gilt für: