Last Updated : 11 Jul, 2025
ValueTuple <T1, T2, T3, T4, T5, T6, T7> struct in C# is part of the System namespace and is used to create a tuple that stores septuple or 7-ValueTuple. It offers a more lightweight, value-type tuple compared to the older Tuple class and provides better performance and memory management. The ValueTuple struct is a value type and mutable means the value of its elements can be modified. Some key features that the Tuple provides are mentioned below:
Fields// Initializes a new ValueTuple<T1, T2, T3, T4, T5, T6, T7> instance.
ValueTuple<T1, T2, T3, T4, T5, T6>(T1, T2, T3, T4, T5, T6, T7)
The constructor of this ValueTuple initializes the tuple with seven values. It is not a property, it is a field that can be accessed by ValueTuple<ElementNumber>
Example: Demonstration of access to the ValueTuple<T1, T2, T3, T4, T5, T6, T7> element in C#.
C#
// Accessing elements of
// ValueTuple<T1, T2, T3, T4, T5, T6, T7>
using System;
class Geeks
{
static public void Main()
{
// Creating a value tuple using Create method
var lib = ValueTuple.Create(3, "C#", "Geek",
2025, "Programming", "English", "India");
// Display the element of the value-tuple
Console.WriteLine("Book Details: ");
Console.WriteLine("Book Id: {0}", lib.Item1);
Console.WriteLine("Book Name: {0}", lib.Item2);
Console.WriteLine("Author Name: {0}", lib.Item3);
Console.WriteLine("Publication date: {0}", lib.Item4);
Console.WriteLine("Gener: {0}", lib.Item5);
Console.WriteLine("Language: {0}", lib.Item6);
Console.WriteLine("Country: {0}", lib.Item7);
}
}
Book Details: Book Id: 3 Book Name: C# Author Name: Geek Publication date: 2025 Gener: Programming Language: English Country: India
Explanation: In the above example create a ValueTuple with seven elements of different types and print each element by field Item<elementNumber>.
MethodsMethod
Description
CompareTo(ValueTuple)
It compares the current ValueTuple<T1> instance to a specified ValueTuple<T1> instance.
Equals(Object)
It returns a value that indicates whether the current ValueTuple<T1> instance equals a specified object.
Equals(ValueTuple<T1>)
It returns a value that indicates whether the current ValueTuple<T1> instance equals a specified ValueTuple<T1> instance.
GetHashCode()
It calculates the hash code for the current ValueTuple<T1> instance.
ToString()
It returns a string that represents the value of this ValueTuple<T1> instance.
Example of Equals() Method in ValueTuple C#
// Check if two value tuples are equal
using System;
class Geeks
{
static public void Main()
{
// Creating 7-ValueTuple
// using Create method
var T1 = ValueTuple.Create(1, 2, 3, 4, 5, 6, 7);
var T2 = ValueTuple.Create(1, 2, 3, 4, 5, 6, 7);
// Check if both the value
// tuples are equal or not
if (T1.Equals(T2)) {
Console.WriteLine("Tuples Matched..!!");
}
else {
Console.WriteLine("Tuples Not Matched..!!");
}
}
}
Tuples Matched..!!
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4