Tuple<T1,T2,T3>.Item3 Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá hodnotu třetí komponenty aktuálního Tuple<T1,T2,T3> objektu.
public:
property T3 Item3 { T3 get(); };
public T3 Item3 { get; }
member this.Item3 : 'T3
Public ReadOnly Property Item3 As T3
Hodnota vlastnosti
- T3
Hodnota třetí komponenty aktuálního Tuple<T1,T2,T3> objektu.
Příklady
Následující příklad definuje pole Tuple<T1,T2,T3> objektů, které obsahují jména studentů, jejich průměrné skóre testů a počet provedených testů. Pole se předá ComputeStatistics
metodě, která vypočítá průměrné skóre, směrodatnou odchylku a počet případů, ze kterých se statistiky počítají. Tyto hodnoty jsou uloženy v objektu Tuple<T1,T2,T3> , který je vrácen metodou ComputeStatistics
. Vlastnost Item3 obsahuje směrodatnou odchylku.
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)
Poznámky
Typ komponenty můžete dynamicky určit Item3 jedním ze dvou způsobů:
Voláním metody na
GetType
hodnotu vrácenou Item3 vlastností.Načtením objektu Type Tuple<T1,T2,T3> , který představuje objekt, a načtením třetího prvku z pole, který je vrácen jeho Type.GetGenericArguments metodou.