The Tuple<T1, T2, T3, T4, T5, T6, T7, TRest> class is used to create an n-tuple where n = 8 or greater than 8. It represents a tuple that contains the eight or more than eight elements in it. You can instantiate a Tuple<T1, T2, T3, T4, T5, T6, T7, TRest> object by calling either the Tuple<T1, T2, T3, T4, T5, T6, T7, TRest>(T1, T2, T3, T4, T5, T6, T7, TRest) constructor or by the static Tuple.Create method. You can retrieve the value of the tuple’s elements by using the read-only Item1, Item2, Item3, Item4, Item5, Item6, Item7 and Rest instance property.
Important Points:
- It implements IStructuralComparable, IStructuralEquatable, and IComparable interfaces.
- It defined under System namespace.
- You can create more than eight-element in a tuple with the help of nesting. You can create a nested tuple in the place of Rest parameter in Tuple<T1, T2, T3, T4, T5, T6, T7, TRest>.
- It represents multiple data into a single data set.
- It allows us to create, manipulate, and access data set.
- It returns multiple values from a method without using out parameters.
- It allows to pass multiple values to a method with the help of single parameters.
- It can also store duplicate elements.
Constructor
Constructor | Description |
---|---|
Tuple<T1, T2, T3, T4, T5, T6, T7, TRest>(T1, T2, T3, T4, T5, T6, T7, TRest) | Initializes a new instance of the Tuple<T1, T2, T3, T4, T5, T6, T7, TRest> class. |
Property
Property | Description |
---|---|
Item1 | Gets the value of the Tuple<T1, T2, T3, T4, T5, T6, T7, TRest> object’s first element. |
Item2 | Gets the value of the current Tuple<T1, T2, T3, T4, T5, T6, T7, TRest> object’s second element. |
Item3 | Gets the value of the current Tuple<T1, T2, T3, T4, T5, T6, T7, TRest> object’s third element. |
Item4 | Gets the value of the current Tuple<T1, T2, T3, T4, T5, T6, T7, TRest> object’s fourth element. |
Item5 | Gets the value of the current Tuple<T1, T2, T3, T4, T5, T6, T7, TRest> object’s fifth element. |
Item6 | Gets the value of the current Tuple<T1, T2, T3, T4, T5, T6, T7, TRest> object’s sixth element. |
Item7 | Gets the value of the current Tuple<T1, T2, T3, T4, T5, T6, T7, TRest> object’s seventh element. |
Rest | Gets the current Tuple<T1, T2, T3, T4, T5, T6, T7, TRest> object’s remaining elements. |
Example:
// C# program to illustrate the constructor // and property of Tuple<T1, T2, T3, T4, // T5, T6, T7, TRest> Class using System;
class GFG {
// Main Method
static public void Main()
{
// Creating 8-Tuple
// Using Tuple<T1, T2, T3, T4, T5, T6, T7,
// TRest>(T1, T2, T3, T4, T5, T6, T7,
// TRest) constructor
Tuple< int , int , int , string , int , string , int , Tuple< int , int >> mytuple = new Tuple< int ,
int , int , string , int , string , int , Tuple< int , int > >(79, 34, 67, "Geeks" , 44,
"GeeksforGeeks" , 66, new Tuple< int , int >(89, 77));
// Accessing the values
Console.WriteLine( "Value of the First Component: " + mytuple.Item1);
Console.WriteLine( "Value of the Second Component: " + mytuple.Item2);
Console.WriteLine( "Value of the Third Component: " + mytuple.Item3);
Console.WriteLine( "Value of the Fourth Component: " + mytuple.Item4);
Console.WriteLine( "Value of the Fifth Component: " + mytuple.Item5);
Console.WriteLine( "Value of the Sixth Component: " + mytuple.Item6);
Console.WriteLine( "Value of the Seventh Component: " + mytuple.Item7);
Console.WriteLine( "Value of the Eighth Component: " + mytuple.Rest);
}
} |
Value of the First Component: 79 Value of the Second Component: 34 Value of the Third Component: 67 Value of the Fourth Component: Geeks Value of the Fifth Component: 44 Value of the Sixth Component: GeeksforGeeks Value of the Seventh Component: 66 Value of the Eighth Component: (89, 77)
Methods
Method | Description |
---|---|
Equals(Object) | Returns a value that indicates whether the current Tuple<T1, T2, T3, T4, T5, T6, T7, TRest> object is equal to a specified object. |
GetHashCode() | Returns the hash code for the current Tuple<T1, T2, T3, T4, T5, T6, T7, TRest> object. |
GetType() | Gets the Type of the current instance. |
MemberwiseClone() | Creates a shallow copy of the current Object. |
ToString() | Returns a string that represents the value of this Tuple<T1, T2, T3, T4, T5, T6, T7, TRest> instance. |
Example:
// C# program to check whether the // given tuples are equal or not using System;
class GFG {
// Main method
static public void Main()
{
// Creating 8-Tuple
// Using Tuple<T1, T2, T3, T4, T5, T6, T7, TRest>(T1,
// T2, T3, T4, T5, T6, T7, TRest) constructor
Tuple< int , int , int , int , int , int , int , Tuple< string > > mytuple1 = new Tuple< int ,
int , int , int , int , int , int , Tuple< string > >(20, 40, 90,
89, 33, 66, 87, new Tuple< string >( "GeeksforGeeks" ));
Tuple< int , int , int , int , int , int , int , Tuple< string > > mytuple2 = new Tuple< int ,
int , int , int , int , int , int , Tuple< string > >(20, 40, 90,
89, 33, 66, 87, new Tuple< string >( "GeeksforGeeks" ));
// Using Equals method
if (mytuple1.Equals(mytuple2))
{
Console.WriteLine( "Tuple Matched." );
}
else
{
Console.WriteLine( "Tuple Not Matched." );
}
}
} |
Tuple Matched.
Reference: