Tuple.Create method in C#

The Tuple.Create method in C# is a convenient way to create tuple objects without explicitly specifying their types. The method automatically infers the types from the provided arguments, making tuple creation more concise and readable.

Syntax

Following is the syntax for using Tuple.Create method −

var tupleName = Tuple.Create(item1, item2, ...);

The method can accept up to 8 parameters of different types −

Tuple.Create<T1>(T1 item1);
Tuple.Create<T1, T2>(T1 item1, T2 item2);
// ... up to 8 items

Creating Basic Tuples

Example

Here we create a tuple with a string and integer −

using System;

class Demo {
    static void Main() {
        var myTuple = Tuple.Create("marks", 100);
        Console.WriteLine(myTuple);
        Console.WriteLine("Subject: " + myTuple.Item1);
        Console.WriteLine("Score: " + myTuple.Item2);
    }
}

The output of the above code is −

(marks, 100)
Subject: marks
Score: 100

Creating Multi-Type Tuples

Example

The Tuple.Create method can handle different data types in a single tuple −

using System;

class Program {
    static void Main() {
        var studentInfo = Tuple.Create("Alice", 22, 85.5, true);
        Console.WriteLine("Student Details:");
        Console.WriteLine("Name: " + studentInfo.Item1);
        Console.WriteLine("Age: " + studentInfo.Item2);
        Console.WriteLine("Grade: " + studentInfo.Item3);
        Console.WriteLine("Is Active: " + studentInfo.Item4);
        
        var coordinates = Tuple.Create(10.5, 20.3);
        Console.WriteLine("\nCoordinates: (" + coordinates.Item1 + ", " + coordinates.Item2 + ")");
    }
}

The output of the above code is −

Student Details:
Name: Alice
Age: 22
Grade: 85.5
Is Active: True

Coordinates: (10.5, 20.3)

Using Tuples in Methods

Example

Tuples created with Tuple.Create can be returned from methods to return multiple values −

using System;

class Calculator {
    public static Tuple<int, int> GetMinMax(int[] numbers) {
        int min = numbers[0];
        int max = numbers[0];
        
        foreach(int num in numbers) {
            if(num < min) min = num;
            if(num > max) max = num;
        }
        
        return Tuple.Create(min, max);
    }
    
    static void Main() {
        int[] values = {15, 3, 42, 7, 28};
        var result = GetMinMax(values);
        
        Console.WriteLine("Array: [" + string.Join(", ", values) + "]");
        Console.WriteLine("Minimum: " + result.Item1);
        Console.WriteLine("Maximum: " + result.Item2);
    }
}

The output of the above code is −

Array: [15, 3, 42, 7, 28]
Minimum: 3
Maximum: 42

Comparison with Other Tuple Creation Methods

Method Syntax Advantage
Tuple.Create Tuple.Create(1, "text") Type inference, concise
Constructor new Tuple<int, string>(1, "text") Explicit type specification
Value Tuples (C# 7+) (1, "text") Modern syntax, better performance

Conclusion

The Tuple.Create method provides a simple way to create tuples with automatic type inference. While value tuples are preferred in modern C# for better performance and syntax, Tuple.Create remains useful for creating reference-type tuples when backward compatibility is needed.

Updated on: 2026-03-17T07:04:35+05:30

159 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements