檢查給定的範圍在 C# 中是否相等


作為程式設計師,我們經常會遇到需要在 C# 等程式語言中比較兩個範圍的情況。無論我們是在處理複雜的演算法還是簡單的程式,檢查兩個範圍是否相等都是一項關鍵任務。本文將討論在 C# 中比較兩個給定範圍的過程和方法,為這個問題提供一個直接的解決方案。

理解 C# 中的範圍

在我們繼續解決方案之前,務必充分理解 C# 程式語言中的範圍是什麼。C# 8.0 中引入的範圍是一種新特性,它提供了一種語法來處理不同型別資料的子集,例如陣列、字串和跨度。

可以使用兩個點 ('..') 定義範圍。例如,表示式 '1..4' 表示包含 1、2 和 3 的範圍。

在 C# 中檢查給定範圍是否相等的方法

檢查兩個範圍是否相等的 simplest 方法是將它們轉換為陣列或列表,然後比較這些集合。我們將定義一個函式 'AreRangesEqual' 來實現這一點。

示例

using System;

public class Program {
   public static void Main() {
      int[] range1 = { 1, 2, 3 };
      int[] range2 = { 1, 2, 3 };
      
      bool areEqual = AreRangesEqual(range1, range2);
      Console.WriteLine($"Are the ranges equal? {areEqual}");
   }

   public static bool AreRangesEqual(int[] range1, int[] range2) {
      // Check if both ranges have the same length.
      if (range1.Length != range2.Length) {
         return false;
      }

      // Sort both ranges.
      Array.Sort(range1);
      Array.Sort(range2);

      // Compare the sorted ranges.
      for (int i = 0; i < range1.Length; i++) {
         if (range1[i] != range2[i]) {
            return false;
         }
      }

      return true;
   }
}

在上面的函式中,我們首先檢查兩個範圍的長度是否相同。如果不同,我們可以立即返回 false。然後我們對兩個範圍進行排序並進行比較。如果任何對應的元素對不相等,我們返回 false。如果沒有任何一對不相等,我們返回 true。

輸出

Are the ranges equal? True

結論

理解和比較 C# 中的範圍是使用這種語言進行現代程式設計的重要技能。我們討論的方法提供了一種簡單而有效的方法來檢查給定的範圍是否相等。但是,請記住,對於特定情況或資料型別,可能存在更復雜的方法。

更新於:2023年7月24日

96 次瀏覽

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告