Open In App

Comparing two ValueTuple<T1, T2, T3> in C#

Improve
Improve
Like Article
Like
Save
Share
Report

ValueTuple is a structure introduced in C# 7.0 which represents the value type Tuple. It is already included in .NET Framework 4.7 or higher version. It allows you to store a data set that contains multiple values that may or may not be related to each other.
You can also compare the instance of two value tuples with each other by using CompareTo(ValueTuple<T1, T2, T3>) method. Or in other words, with the help of CompareTo method you are allowed to compare the current ValueTuple<T1, T2, T3> instance to a specified ValueTuple<T1, T2, T3> instance. This method also compares nested value tuples with each other.

Syntax:

public int CompareTo (ValueTuple<T1, T2, T3> other);

Return Type: The return type of this method is System.Int32. And it always returns a signed integer that indicates the relative position of this instance and other in the sort order as shown in the below list:

  • Negative integer for the instance precedes another.
  • Zero for the instance and other have the same position in the sort order.
  • Positive integer for the instance follows another.

Example 1:




// C# program to illustrate the 
// use of CompareTo method
using System;
  
namespace exampleofvaluetuple {
  
class GFG {
  
    // Main Method
    static void Main(string[] args)
    {
        // 3-ValueTuple
        var t1 = (43, 34, 22);
        var t2 = (78, 98, 76);
        Console.WriteLine("Result 1: {0}", t1.CompareTo(t2));
  
        // 3-ValueTuple
        var p1 = (86, 99, 67);
        var p2 = (44, 22, 06);
        Console.WriteLine("Result 2: {0}", p1.CompareTo(p2));
  
        // 3-ValueTuple
        var q1 = (10, 20, 30);
        var q2 = (10, 20, 30);
        Console.WriteLine("Result 3: {0}", q1.CompareTo(q2));
    }
}
}


Output:

Result 1: -1
Result 2: 1
Result 3: 0

Example 2:




// C# program to illustrate the
// use of CompareTo method
using System;
  
namespace exampleofvaluetuple {
  
class GFG {
  
    // Main Method
    static void Main(string[] args)
    {
  
        // 3-ValueTuple
        var t1 = (44, 55, 66);
        var t2 = (44, 55, 66);
  
        // Using CompareTo Method
        if (t1.CompareTo(t2) == 0) {
  
            Console.WriteLine("Value tuples are equal!!");
        }
        else {
  
            Console.WriteLine("Value tuples are not equal!!");
        }
    }
}
}


Output:

Value tuples are equal!!


Last Updated : 29 Dec, 2019
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads