在 C# 中檢查 ValueTuple 例項是否相等


在 C# 中,ValueTuple 是一種結構型別,可用於建立輕量級、自描述的元組,該元組可以包含多個欄位。比較兩個 ValueTuple 例項以確定是否相等是各種程式設計場景中常見的需求。本文將指導您完成在 C# 中檢查兩個 ValueTuple 例項是否相等的流程。最後,您將能夠自信地確定兩個 ValueTuple 例項是否包含相同的元素。

瞭解 C# 中的 ValueTuples

在深入比較之前,讓我們首先了解什麼是 ValueTuples。ValueTuple 在 C# 7.0 中引入,是 Tuple 的值型別表示形式。它是一種結構,允許將兩個或多個元素(稱為項)的有序序列捆綁在一起。此結構可用於對值進行分組,而無需建立新的類。

以下是一個 ValueTuple 的示例:

var employee = (Id: 1, Name: "John Doe", Role: "Developer");

在此示例中,employee 是一個 ValueTuple,包含三個項:Id、Name 和 Role。

比較兩個 ValueTuples

在 C# 中,比較兩個 ValueTuples 以確定是否相等非常簡單。您可以使用 == 運算子來檢查兩個 ValueTuples 是否相等。

示例

以下是一個示例:

using System;

public class Program {
   public static void Main() {
      var employee1 = new { Id = 1, Name = "John Doe", Role = "Developer" };
      var employee2 = new { Id = 1, Name = "John Doe", Role = "Developer" };

      if (employee1.Equals(employee2)) {
         Console.WriteLine("The employees are equal.");
      } else {
         Console.WriteLine("The employees are not equal.");
      }
   }
}

在此程式碼片段中,我們首先定義兩個 ValueTuples employee1 和 employee2。然後,我們使用 == 運算子來檢查 employee1 和 employee2 是否相等。

輸出

The employees are equal.

深入瞭解 ValueTuple 的相等性

在比較 ValueTuples 以確定是否相等時,需要注意比較是按元素進行的。這意味著如果兩個 ValueTuples 中每個對應的欄位都相等,則這兩個 ValueTuples 被認為是相等的。

此外,ValueTuple 的 Equals 方法和 == 運算子執行值比較,而不是引用比較。這意味著它們檢查例項是否具有相同的值,而不是它們是否引用同一個物件。

結論

在 C# 中,ValueTuple 提供了一種方便的方式來將多個值捆綁在一起。由於 == 運算子的存在,比較兩個 ValueTuple 例項以確定是否相等是一項簡單的任務。透過本文獲得的知識,您現在能夠有效地檢查 C# 程式設計之旅中兩個 ValueTuple 例項是否相等。

更新於:2023-07-24

90 次瀏覽

開啟您的 職業生涯

透過完成課程獲得認證

立即開始
廣告