📌  相关文章
📜  比较两个ValueTuple<T1, T2>在C#中

📅  最后修改于: 2021-05-29 21:41:57             🧑  作者: Mango

ValueTuple是C#7.0中引入的结构,表示值类型Tuple。它已包含在.NET Framework 4.7或更高版本中。它允许您存储一个数据集,该数据集包含可能彼此相关或不相关的多个值。
您还可以使用CompareTo(ValueTuple )方法将两个值元组的实例彼此进行比较。换句话说,就是在CompareTo方法的帮助下,您可以将当前的ValueTuple 实例与指定的ValueTuple 实例进行比较。此方法还比较嵌套值元组。

句法:

public int CompareTo (ValueTuple other);

返回类型:此方法的返回类型为System.Int32 。并且它总是返回一个带符号的整数,该整数指示该实例和其他实例的相对位置,并按照下面的列表所示的排序顺序:

  • 实例的负整数在另一个之前。
  • 实例的零和其他实例在排序顺序中的位置相同。
  • 实例的正整数紧随另一个。

范例1:

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

范例2:

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