Edit

Share via


Tuple<T1>.Item1 Property

Definition

Gets the value of the Tuple<T1> object's single component.

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

Property Value

T1

The value of the current Tuple<T1> object's single component.

Examples

The following example displays information about two singletons and their components.

using System;
using System.Numerics;

public class Example
{
   public static void Main()
   {
      var tuple1 = Tuple.Create(-1.23445e-32);
      // Display information about this singleton.
      Type tuple1Type = tuple1.GetType();
      Console.WriteLine("First 1-Tuple:");
      Console.WriteLine("   Type: {0}", tuple1Type.Name);
      Console.WriteLine("   Generic Parameter Type: {0}", 
                        tuple1Type.GetGenericArguments()[0]);
      Console.WriteLine("   Component Value: {0}", tuple1.Item1);
      Console.WriteLine("   Component Value Type: {0}", 
                        tuple1.Item1.GetType().Name);
      Console.WriteLine();
      
      var tuple2 = Tuple.Create((BigInteger)1.83789322281780983781356676e103);
      // Display information about this singleton.
      Type tuple2Type = tuple2.GetType();
      Console.WriteLine("Second 1-Tuple:");
      Console.WriteLine("   Type: {0}", tuple2Type.Name);
      Console.WriteLine("   Generic Parameter Type: {0}", 
                        tuple2Type.GetGenericArguments()[0]);
      Console.WriteLine("   Component Value: {0}", tuple2.Item1);
      Console.WriteLine("   Component Value Type: {0}", 
                        tuple2.Item1.GetType().Name);
   }
}
// The example displays the following output:
//       First 1-Tuple:
//          Type: Tuple`1
//          Generic Parameter Type: System.Double
//          Component Value: -1.23445E-32
//          Component Value Type: Double
//       
//       Second 1-Tuple:
//          Type: Tuple`1
//          Generic Parameter Type: System.Numerics.BigInteger
//          Component Value: 1.8378932228178098168858909492E+103
//          Component Value Type: BigInteger
open System

let tuple1 = Tuple.Create -1.23445e-32
// Display information about this singleton.
let tuple1Type = tuple1.GetType()
printfn "First 1-Tuple:"
printfn $"   Type: {tuple1Type.Name}"
printfn $"   Generic Parameter Type: {tuple1Type.GetGenericArguments()[0]}" 
printfn $"   Component Value: {tuple1.Item1}"
printfn $"   Component Value Type: {tuple1.Item1.GetType().Name}\n"

let tuple2 = Tuple.Create(bigint 1.83789322281780983781356676e103)
// Display information about this singleton.
let tuple2Type = tuple2.GetType()
printfn "Second 1-Tuple:"
printfn $"   Type: {tuple2Type.Name}"
printfn $"   Generic Parameter Type: {tuple2Type.GetGenericArguments()[0]}" 
printfn $"   Component Value: {tuple2.Item1}"
printfn $"   Component Value Type: {tuple2.Item1.GetType().Name}"
// The example displays the following output:
//       First 1-Tuple:
//          Type: Tuple`1
//          Generic Parameter Type: System.Double
//          Component Value: -1.23445E-32
//          Component Value Type: Double
//       
//       Second 1-Tuple:
//          Type: Tuple`1
//          Generic Parameter Type: System.Numerics.BigInteger
//          Component Value: 1.8378932228178098168858909492E+103
//          Component Value Type: BigInteger
Imports System.Numerics

Module modMain
   Public Sub Main()
      Dim tuple1 = Tuple.Create(-1.23445e-32)
      ' Display information about this singleton.
      Dim tuple1Type As Type = tuple1.GetType()
      Console.WriteLine("First 1-Tuple:")
      Console.WriteLine("   Type: {0}", tuple1Type.Name)
      Console.WriteLine("   Generic Parameter Type: {0}", 
                        tuple1Type.GetGenericArguments()(0))
      Console.WriteLine("   Component Value: {0}", tuple1.Item1)
      Console.WriteLine("   Component Value Type: {0}", 
                        tuple1.Item1.GetType().Name)
      Console.WriteLine()
      
      Dim tuple2 As New Tuple(Of BigInteger)(1.83789322281780983781356676e103)
      ' Display information about this singleton.
      Dim tuple2Type As Type = tuple2.GetType()
      Console.WriteLine("Second 1-Tuple:")
      Console.WriteLine("   Type: {0}", tuple2Type.Name)
      Console.WriteLine("   Generic Parameter Type: {0}", 
                        tuple2Type.GetGenericArguments()(0))
      Console.WriteLine("   Component Value: {0}", tuple2.Item1)
      Console.WriteLine("   Component Value Type: {0}", 
                        tuple2.Item1.GetType().Name)
   End Sub
End Module
' The example displays the following output:
'       First 1-Tuple:
'          Type: Tuple`1
'          Generic Parameter Type: System.Double
'          Component Value: -1.23445E-32
'          Component Value Type: Double
'       
'       Second 1-Tuple:
'          Type: Tuple`1
'          Generic Parameter Type: System.Numerics.BigInteger
'          Component Value: 1.8378932228178098168858909492E+103
'          Component Value Type: BigInteger

Remarks

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

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

  • By retrieving the Type object that represents the Tuple<T1> object, and retrieving the first element from the array that is returned by its Type.GetGenericArguments method.

The example illustrates both approaches.

Applies to