How to get First Element of the Tuple in C#?

A tuple in C# is a data structure that can hold multiple values of different types. To get the first element of a tuple, you use the Item1 property, which provides direct access to the first value stored in the tuple.

Syntax

Following is the syntax for accessing the first element of a tuple −

var tuple = Tuple.Create(value1, value2, value3, ...);
var firstElement = tuple.Item1;

For value tuples (C# 7.0+), you can also use named elements −

var tuple = (first: value1, second: value2, third: value3);
var firstElement = tuple.first;

Using Item1 Property

The Item1 property allows you to access the first element of any tuple. Here's a simple example −

using System;

public class Demo {
    public static void Main(String[] args) {
        var tuple = Tuple.Create(75, "Hello", true, 3.14);
        
        Console.WriteLine("First element: " + tuple.Item1);
        Console.WriteLine("First element type: " + tuple.Item1.GetType().Name);
        
        // Accessing other elements for comparison
        Console.WriteLine("Second element: " + tuple.Item2);
        Console.WriteLine("Third element: " + tuple.Item3);
        Console.WriteLine("Fourth element: " + tuple.Item4);
    }
}

The output of the above code is −

First element: 75
First element type: Int32
Second element: Hello
Third element: True
Fourth element: 3.14

Working with Multiple Tuples

You can compare first elements of different tuples and perform various operations −

using System;

public class Demo {
    public static void Main(String[] args) {
        var tuple1 = Tuple.Create(75, 200, 500, 700, 100, 1200, 1500);
        var tuple2 = Tuple.Create(75, 200, 500, 700, 100, 1200, 1500);
        
        Console.WriteLine("Is Tuple1 equal to Tuple2? = " + tuple1.Equals(tuple2));
        Console.WriteLine("HashCode of Tuple1 = " + tuple1.GetHashCode());
        Console.WriteLine("HashCode of Tuple2 = " + tuple2.GetHashCode());
        Console.WriteLine("Tuple1 Item 1st = " + tuple1.Item1);
        Console.WriteLine("Tuple2 Item 1st = " + tuple2.Item1);
        
        // Compare first elements
        Console.WriteLine("First elements are equal: " + (tuple1.Item1 == tuple2.Item1));
    }
}

The output of the above code is −

Is Tuple1 equal to Tuple2? = True
HashCode of Tuple1 = 3231587
HashCode of Tuple2 = 3231587
Tuple1 Item 1st = 75
Tuple2 Item 1st = 75
First elements are equal: True

Using Value Tuples (C# 7.0+)

With value tuples, you can use named elements for better readability −

using System;

public class Demo {
    public static void Main(String[] args) {
        var student = (id: 101, name: "John", grade: 'A', score: 95.5);
        
        Console.WriteLine("Student ID (first element): " + student.id);
        Console.WriteLine("Student Name: " + student.name);
        
        // You can also use Item1 with value tuples
        Console.WriteLine("First element using Item1: " + student.Item1);
        
        // Deconstructing to get first element
        var (firstElement, _, _, _) = student;
        Console.WriteLine("First element via deconstruction: " + firstElement);
    }
}

The output of the above code is −

Student ID (first element): 101
Student Name: John
First element using Item1: 101
First element via deconstruction: 101

Comparison of Access Methods

Method Syntax Advantages
Item1 Property tuple.Item1 Works with all tuple types, universally supported
Named Elements tuple.elementName More readable, self-documenting code
Deconstruction var (first, _, _) = tuple Extract multiple elements at once

Conclusion

To get the first element of a tuple in C#, use the Item1 property which works with both classic tuples and value tuples. For better code readability, consider using named elements in value tuples or deconstruction when working with multiple elements simultaneously.

Updated on: 2026-03-17T07:04:36+05:30

971 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements