C# | Tuples
C# tuple is a data structure in C#. In this article, learn how to use tuples in C#. Tuples in C# are used to return multiple data values.
If you need to return multiple values from a method in C#, there are three ways to do so without using tuples.
- Using 0ut parameters
- Using a class, struct, or a record type
- Anonymous types returned through a dynamic return type
In C#, Tuples solve this problem. C# tuple is a data structure that provides an easy way to represent a single set of data. The System.Tuple class provides static methods to create tuple objects.
Tuples allow us to,
- Create, access, and manipulate a data set
- Return a data set from a method without using the out parameter
- Pass multiple values to a method through a single parameter
C# Tuple
We can create a Tuple<> using its constructor or the "Create" method. The code snippet in Listing 1 creates a 3-tuple using a constructor. The tuple is a set of three data types, including two strings and one int, that represents an author's name, book title, and year of publication.
The code snippet in Listing 2 creates a 5-tuple using the static "Create" method. The tuple is a set of five data types: three strings, one int, and one double data type.
Listing 2.
How to create nested tuples in C#?
C# supports tuples with up to seven elements. To have a tuple with more than seven elements, you can use the 8th element, TRest, to create nesting tuple objects. The code snippet in Listing 3 creates a tuple with a nested tuple inside it.
Listing 3.
How to use a tuple in a method?
A tuple is useful when you need to pass a data set as a single parameter of a method without using ref and out parameters. The code snippet in Listing 4 passes a tuple as a parameter of the method.
Listing 4.
The following code snippet in Listing 5 calls the method.
Listing 5.
How to return tuples in C#?
A tuple can be used to return a data set as a single variable of a method. The code snippet in Listing 6 returns a tuple with three values.
Listing 6.
The code snippet in Listing 7 calls the method, gets a tuple and reads its values.
Comments
Post a Comment