Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

The New Tuple Feature in C# 4.0

DZone's Guide to

The New Tuple Feature in C# 4.0

·
Free Resource
The new version of C# (4.0) includes a new feature called Tuples. Tuples provides a way of grouping elements of different data types. That enables us to use it a lot where we can store coordinates of graphs etc.

In C# 4.0 we can create a Tuple with the Create method. This Create method offers 8 overloads like the following. So you can group a maximum of 8 data types with a Tuple. Followings are overloads of a data type.

  • Create(T1)- Which represents a tuple of size 1
  • Create(T1,T2)- Which represents a tuple of size 2
  • Create(T1,T2,T3) – Which represents a tuple of size 3
  • Create(T1,T2,T3,T4) – Which represents a tuple of size 4
  • Create(T1,T2,T3,T4,T5) – Which represents a tuple of size 5
  • Create(T1,T2,T3,T4,T5,T6) – Which represents a tuple of size 6
  • Create(T1,T2,T3,T4,T5,T6,T7) – Which represents a tuple of size 7
  • Create(T1,T2,T3,T4,T5,T6,T7,T8) – Which represents a tuple of size 8
Following are some example code snippets for tuple.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace TupleExample
{
class Program
{
 static void Main(string[] args)
 {
     var tuple = System.Tuple.Create<string, string, string>("Jalpesh", "P", "Vadgama");
     Console.WriteLine(tuple);
 
     var t = System.Tuple.Create<int, string>(1, "Jalpesh");
     Console.WriteLine(t);
 
 }
}
}
Following is a output of above as expected.

Tuple in C# 4.0

You can also access values inside Tuples with ItemN property. Where N represents a particular item in the tuple. The following is an example of it.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace TupleExample
{
class Program
{
 static void Main(string[] args)
 {
     var tuple = System.Tuple.Create<string, string, string>("Jalpesh", "P", "Vadgama");
     Console.WriteLine(tuple.Item1);
     Console.WriteLine(tuple.Item2);
     Console.WriteLine(tuple.Item3);
 }
}
}
Here you can see I have printed items with Item1,Item2 and Item3 . Following is the output of above code.

Tuple example in C# 4.0

We can also create a nested tuple.  The following is code for a nested tuple.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace TupleExample
{
class Program
{
 static void Main(string[] args)
 {
     var tuple = System.Tuple.Create(1,"Jalpesh",new Tuple<string,string>("P","Vadgama"));
     Console.WriteLine(tuple.Item1);
     Console.WriteLine(tuple.Item2);
     Console.WriteLine(tuple.Item3);
 
 }
}
}
The following is output of above code as expected.

Netsted tuple in C# 4.0

As you can see there are unlimited possibilities. We can do lots of things with Tuples. Hope you liked it. Stay tuned for more. Till then, Happy Programming!!

Topics:

Published at DZone with permission of Jalpesh Vadgama, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}