Tuple<T1, T2, T3>.Item3 Property


The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Gets the value of the current Tuple<T1, T2, T3> object's third component.

Namespace:   System
Assembly:  mscorlib (in mscorlib.dll)

public T3 Item3 { get; }

Property Value

Type: T3

The value of the current Tuple<T1, T2, T3> object's third component.

You can dynamically determine the type of the Item3 component in one of two ways:

  • By calling the GetType method on the value returned by the Item3 property.

  • 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.

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. 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. These values are stored in the Tuple<T1, T2, T3> object that is returned by the ComputeStatistics method. 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)

Universal Windows Platform
Available since 8
.NET Framework
Available since 4.0
Portable Class Library
Supported in: portable .NET platforms
Available since 4.0
Windows Phone Silverlight
Available since 8.0
Windows Phone
Available since 8.1
Return to top