C# | ValueTuple <T1,T2> Struct

The ValueTuple<T1,T2> Struct is used to create a pair value tuple or 2-ValueTuple. It represents a value tuple which stores, two elements. It provides runtime implementation of value tuples. You can create the instance of ValueTuple <T1, T2> Struct by using ValueTuple<T1,T2>(T1, T2) constructor, or by using ValueTuple.Create method or simply by using parenthesis(). You can retrieve the value of the value tuple’s unnamed elements by using the default property, or named elements can directly be accessed with the help of their names.

Important Points:

  • It implements IStructuralComparable, IStructuralEquatable, IComparable, IComparable<ValueTuple<T1, T2>>, IEquatable<ValueTuple<T1, T2>>, and ITuple interfaces.
  • It defined under System namespace.
  • It can also store duplicate elements.
  • Fields are mutable. So, you can change the value of ValueTuple <T1,T2>.
  • Here, members like Item1 and Item2 are fields not property.
  • It is of value type not of reference type.
  • It represent multiple data into a single data set.
  • It allows passing multiple values to a method with the help of single parameters.

Constructor

Constructor Description
ValueTuple<T1, T2>(T1, T2) Initializes a new ValueTuple<T1, T2> instance.

Field

Field Description
Item1 Gets the value of the current ValueTuple<T1, T2> instance’s first element.
Item2 Gets the value of the current ValueTuple<T1, T2> instance’s second element.

Example:

filter_none

edit
close

play_arrow

link
brightness_4
code

// C# program to illustrate how to
// access the element of ValueTuple<T1,T2>
using System;
  
class GFG {
  
    // Main Method
    static public void Main()
    {
  
        // Creating a value tuple
        // Using Create method
        var Mylibrary = ValueTuple.Create(3456, "The Guide");
  
        // Display the element of the given value tuple
        Console.WriteLine("Book Details: ");
        Console.WriteLine("Book Id: {0}", Mylibrary.Item1);
        Console.WriteLine("Book Name: {0}", Mylibrary.Item2);
    }
}

chevron_right


Output:

Book Details: 
Book Id: 3456
Book Name: The Guide

Methods

Method Description
CompareTo(ValueTuple) Compares the current ValueTuple<T1, T2> instance to a specified ValueTuple<T1, T2> instance.
Equals(Object) Returns a value that indicates whether the current ValueTuple<T1, T2> instance is equal to a specified object.
Equals(ValueTuple) Returns a value that indicates whether the current ValueTuple<T1, T2> instance is equal to a specified ValueTuple<T1, T2> instance.
GetHashCode() Calculates the hash code for the current ValueTuple<T1, T2> instance.
ToString() Returns a string that represents the value of this ValueTuple<T1, T2> instance.

Example:

filter_none

edit
close

play_arrow

link
brightness_4
code

// C# program to Check the given 
// value tuples are equal or not
using System;
  
class GFG {
  
    // Main method
    static public void Main()
    {
  
        // Creating 2-ValueTuple
        // Using Create method
        var T1 = ValueTuple.Create(346, 784);
        var T2 = ValueTuple.Create(346, 7743);
  
        // Check if both the value tuples
        // are equal or not
        if (T1.Equals(T2)) 
        {
            Console.WriteLine("Code is correct...!!");
        }
  
        else 
        {
            Console.WriteLine("Incorrect Code...!!");
        }
    }
}

chevron_right


Output:

Incorrect Code...!!

Reference:



My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.




Article Tags :

Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.