TheDeveloperBlog.com

Home | Contact Us

C-Sharp | Java | Python | Swift | GO | WPF | Ruby | Scala | F# | JavaScript | SQL | PHP | Angular | HTML

C# Tuples

C# Tuples for beginners and professionals with examples on overloading, method overriding, inheritance, aggregation, base, polymorphism, sealed, abstract, interface, namespaces, exception handling, file io, collections, multithreading, reflection etc.

<< Back to C-SHARP

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

public static class Tuple

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) 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

using System;
namespace CSharpFeatures
{
    class TupleExample
    {
        public static void Main(string[] args)
        {
            // Creating Tuple of three values
            var book = new Tuple("C# in Depth", "Jon Skeet", 100.50);
            Console.WriteLine("-----------------Book's Record---------------------");
            Console.WriteLine("Title  "  + book.Item1);
            Console.WriteLine("Author " + book.Item2);
            Console.WriteLine("Price  "  + book.Item3);
        }
    }
}

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

using System;
namespace CSharpFeatures
{
    class TupleExample
    {
        public static void Main(string[] args)
        {
            // Creating Tuple using helper method (Create)
            var book = Tuple.Create("C# in Depth", "Jon Skeet", 100.50);
            Console.WriteLine("-----------------Book's Record---------------------");
            Console.WriteLine("Title  " + book.Item1);
            Console.WriteLine("Author " + book.Item2);
            Console.WriteLine("Price  " + book.Item3);
        }
    }
}

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

using System;
namespace CSharpFeatures
{
    public class Student
    {
        public static void Main(string[] args)
        {
            var (name,email) = Show();
            Console.WriteLine(name+" "+email);
        }
        static (string name, string email) Show()
        {
            return ("irfan","irfan@gmail.com");
        }
    }
}

Next TopicHTML Aside tag




Related Links:


Related Links

Adjectives Ado Ai Android Angular Antonyms Apache Articles Asp Autocad Automata Aws Azure Basic Binary Bitcoin Blockchain C Cassandra Change Coa Computer Control Cpp Create Creating C-Sharp Cyber Daa Data Dbms Deletion Devops Difference Discrete Es6 Ethical Examples Features Firebase Flutter Fs Git Go Hbase History Hive Hiveql How Html Idioms Insertion Installing Ios Java Joomla Js Kafka Kali Laravel Logical Machine Matlab Matrix Mongodb Mysql One Opencv Oracle Ordering Os Pandas Php Pig Pl Postgresql Powershell Prepositions Program Python React Ruby Scala Selecting Selenium Sentence Seo Sharepoint Software Spellings Spotting Spring Sql Sqlite Sqoop Svn Swift Synonyms Talend Testng Types Uml Unity Vbnet Verbal Webdriver What Wpf