DEV Community

What is a tuple in C#?

Milecia on October 23, 2018

This isn't something that most web developers know about because tuples aren't commonly used in web development. It's not because they aren't usefu...
Collapse
 
goaty92 profile image
goaty92

Well, there is a difference between the System.Tuple types and the new ValueTuple that has been added since C# 7. In fact ValueTuple is a value type (not a reference type) which brings additional performance benefit and should be prefered over System.Tuple.

Collapse
 
joaofbantunes profile image
João Antunes

Since you're mentioning that a Tuple is a reference type and then mention the recently added ValueTuple, you could further complete the information with the fact that the ValueTuple is a struct (value type) 👍.

Collapse
 
mteheran profile image
Miguel Teheran

Important take into account that we need to use framework 4.6.2 in order to implement tuples and it has a feature for 7.1.

7.0:
int count = 5;
string label = "Colors used in the map";
var pair = (count: count, label: label);

7.1 (new feature default names):
int count = 5;
string label = "Colors used in the map";
var pair = (count, label); // element names are "count" and "label"

Collapse
 
dance2die profile image
Sung M. Kim

I love how C# is embracing good parts from other languages.

I use the 7.1 syntax in Javascript quite much and been tripping me much in C#.

Collapse
 
tux0r profile image
tux0r

a tuple is a data structure that has a number of elements with different data types

Mathematically, a tuple is a "sorted list".