113
C# Tuples
C# tuple is a data structure that is used to store sequence of elements. Tuple with n elements are known as n-tuple.
We can use Tuple for the following reasons.
- To represent a single set of data
- To provide easy access and manipulation of data
- To return multiple values from a method without using out parameter
- To pass multiple values to a method through a single parameter
In C#, tuple is a class that contains static methods. These methods are used to create tuple objects. Following is the syntax of Tuple class.
C# Tuple Class Syntax
C# Tuple Methods
The following table contains methods of Tuple class.
Method name | Description |
---|---|
Create<T1>(T1) | It is used to create a new 1-tuple, or singleton. |
Create<T1,T2>(T1,T2) | It is used to create a new 2-tuple, or pair. |
Create<T1,T2,T3>(T1,T2,T3) | It is used to create a new 3-tuple, or triple. |
Create(T1,T2,T3,T4),t2,t3,t4> | It is used to create a new 4-tuple, or quadruple. |
Create<T1,T2,T3,T4,T5>(T1,T2,T3,T4,T5) | It is used to create a new 5-tuple, or quintuple. |
Create<T1,T2,T3,T4,T5,T6>(T1,T2,T3,T4,T5,T6) | It is used to create a new 6-tuple, or sextuple. |
Create<T1,T2,T3,T4,T5,T6,T7>(T1,T2,T3,T4,T5,T6,T7) | It is used to create a new 7-tuple, or septuple. |
Create<T1,T2,T3,T4,T5,T6,T7,T8>(T1,T2,T3,T4,T5,T6,T7,T8) | It is used to create a new 8-tuple, or octuple. |
Let’s see an example that creates a Tuple to store book information. Here, we are creating Tuple without using static method.
C# Tuple Example 1
Output:
-----------------Book's Record--------------------- Title C# in Depth Author Jon Skeet Price 100.5
We can use static methods of Tuple class to create Tuple. In the following example, we are using create method.
C# Tuple Example with Static Method
Output:
-----------------Book's Record--------------------- Title C# in Depth Author Jon Skeet Price 100.5
We can use tuple to return multiple values from a method. In the following example, we are returning a tuple to the caller method.
C# Tuple Example Return Multiple Values
Next TopicHTML Aside tag