Tuple(Of T1, T2, T3).Item3 Property

Gets the value of the current Tuple(Of T1, T2, T3) object's third component.

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

Public ReadOnly Property Item3 As T3

Property Value

Type: T3
The value of the current Tuple(Of 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(Of 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(Of 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(Of T1, T2, T3) object that is returned by the ComputeStatistics method. The Item3 property contains the standard deviation.

Module Example
   Public Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock)
      Dim scores() As Tuple(Of String, Double, Integer) = _
                      { 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)
      outputBlock.Text += String.Format("Mean score: {0:N2} (SD={1:N2}) (n={2})", _ 
                        result.Item2, result.Item3, result.Item1) + vbCrLf
   End Sub

   Private Function ComputeStatistics(ByVal 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
      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)
      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)


Supported in: 5, 4

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.

Community Additions