Export (0) Print
Expand All

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

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

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

'Declaration
Public ReadOnly Property Item2 As T2

Property Value

Type: T2
The value of the current Tuple(Of T1, T2, T3) object's second component.

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

  • By calling the GetType method on the value that is returned by the Item2 property.

  • By retrieving the Type object that represents the Tuple(Of T1, T2, T3) object, and retrieving the second 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 Item2 property contains the mean test score.

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)

.NET Framework

Supported in: 4.6, 4.5, 4

.NET Framework Client Profile

Supported in: 4

Portable Class Library

Supported in: Portable Class Library

Supported in: Windows Phone 8.1

Supported in: Windows Phone Silverlight 8.1

Supported in: Windows Phone Silverlight 8
Show:
© 2015 Microsoft