📜  C#|检查两个元组对象是否相等

📅  最后修改于: 2021-05-29 17:08:59             🧑  作者: Mango

元组是一种数据结构,它为您提供了表示数据集的最简单方法。您还可以使用Equals方法检查给定的元组对象是否等于指定的对象。如果给定的元组对象等于指定的对象,则此方法将返回true,否则返回false。

句法:

public override bool Equals (object obj);

在这里, obj是要与此实例进行比较的对象。

返回类型:此方法的返回类型为Boolean 。表示如果元组对象等于给定对象,它将返回true。否则,返回false

重要点:满足以下条件时,此obj参数被视为相等:

  • 如果它是一个Tuple <>对象。这里,元组可以是1元组,或2元组,或3元组,或4元组,或5元组,或6元组,或7元组或8元组。
  • 它必须包含与当前实例相同类型的相同数量的元素。
  • 其元素(包括其嵌套组件)与当前实例的元素相同。相等性由每个元素的默认相等性比较器确定。

下面的程序说明了上述方法的用法:

范例1:

// C# program to illustrate the 
// Equals method
using System;
  
class GFG {
  
    // Main Method
    static public void Main()
    {
  
        // Taking tuple variables
        var t1 = Tuple.Create(12, 34, 56, 78);
        var t2 = Tuple.Create(12, 34, 67, 89);
        var t3 = Tuple.Create(12, 34, 56, 78);
        var t4 = Tuple.Create(34, 56, 78);
  
        // Check whether the given 
        // tuples are Equal or not
        // Using Equals() method
        Console.WriteLine(t1.Equals(t2));
        Console.WriteLine(t1.Equals(t3));
        Console.WriteLine(t1.Equals(t4));
    }
}
输出:
False
True
False

范例2:

// C# program to illustrate Equals
// method with nested tuple
using System;
  
class GFG {
  
    // Main Method
    static public void Main()
    {
  
        // Taking Tuples
        var t1 = Tuple.Create(34, 56, 78, Tuple.Create(12, 34, 56, 78));
        var t2 = Tuple.Create(12, 34, 67, 89);
        var t3 = Tuple.Create(12, 34, 56, Tuple.Create(23, 56));
        var t4 = Tuple.Create(34, 56, 78, Tuple.Create(12, 34, 56, 78));
        var t5 = Tuple.Create(12, 34, 56, Tuple.Create(24, 56));
  
        // Check whether the given 
        // tuples are Equal or not
        // Using Equals() method
        Console.WriteLine(t1.Equals(t2));
        Console.WriteLine(t1.Equals(t3));
        Console.WriteLine(t1.Equals(t4));
        Console.WriteLine(t3.Equals(t5));
        Console.WriteLine(t1.Equals(t5));
    }
}
输出:
False
False
True
False
False