HOWTO · Csharp
在 C# 中比較陣列
在本文中,我們將學習如何在 C# 中比較和檢查兩個或多個陣列是否相等。
本頁內容
本文將討論比較兩個陣列以檢視它們是否相等。
我們將討論和實現來比較陣列的兩種方法是,
SequenceEqual()函式;- 比較每個陣列中的匹配元素。
如果兩個陣列具有相同的匹配元素和相同數量的元素,則稱它們相等。
在 C# 中使用 SequenceEqual() 函式比較陣列
首先,我們必須匯入庫以訪問 SequenceEqual() 函式。
using System.Linq;
建立一個帶有 Main() 函式的 ArrayCompare 類。
class ArrayCompare {
static void Main(string[] args) {}
}
將 isEqual 變數宣告為布林資料型別變數。它將根據陣列是否相等返回 True 或 False。
Boolean isEqual;
初始化兩個名為 firstArray 和 secondArray 的資料型別 int[] 的陣列,併為它們分配要比較的整數值。
int[] firstArray = { 10, 20, 30, 40, 40, 50 };
int[] secondArray = { 10, 20, 30, 40, 40, 50 };
我們將使用 SequenceEqual() 方法來比較這兩個陣列。
isEqual = firstArray.SequenceEqual(secondArray);
現在我們在 isEqual 變數中儲存了一個真或假值,我們必須檢查它返回的內容。如果返回值為 True,它將執行 if 塊,如果返回值為 False,它將執行 else 塊。
if (isEqual) {
Console.WriteLine("Both the arrays are equal");
} else {
Console.WriteLine("Both the arrays are not equal");
}
原始碼:
using System;
using System.Linq;
class ArrayCompare {
static void Main(string[] args) {
Boolean isEqual;
int[] firstArray = { 10, 20, 30, 40, 40, 50 };
int[] secondArray = { 10, 20, 30, 40, 40, 50 };
isEqual = firstArray.SequenceEqual(secondArray);
if (isEqual) {
Console.WriteLine("Both the arrays are equal.");
} else {
Console.WriteLine("Both the arrays are not equal.");
}
}
}
當兩個陣列相等時,
輸出:
Both the arrays are equal.
假設我們將 firstArray 中的任何元素更改為,
int[] firstArray = { 10, 20, 30, 40, 30, 60 };
輸出:
Both the arrays are not equal.
在 C# 中比較匹配的元素來比較陣列
我們將建立一個布林變數並在 Main() 函式中將其值設定為 true。
Boolean isEqual = true;
以與上一個方法相同的方式初始化兩個陣列。
int[] firstArray = { 10, 20, 30, 40, 40, 50 };
int[] secondArray = { 10, 20, 30, 40, 40, 50 };
我們必須確定兩個陣列的長度。此外,要相等,所有索引值必須相同。
所以讓我們應用一個條件來確保 firstArray 和 secondArray 的長度相等。如果它返回 True,我們必須驗證所有索引處的值;否則,isEqual 值將為假。
為了檢查陣列的所有索引是否相等,我們將使用一個 for 迴圈,從索引 0 開始並遍歷 secondArray 的長度。它將驗證所有索引的值,如果它們都不相同,它將設定 isEqual 的值為 False。
if (firstArray.Length == secondArray.Length) {
for (int y = 0; y < secondArray.Length; y++) {
if (secondArray[y] != firstArray[y]) {
isEqual = false;
}
}
} else {
isEqual = false;
}
最後,我們需要輸出陣列是否相等的訊息。
if (isEqual) {
Console.WriteLine("The arrays are equal");
} else {
Console.WriteLine("The arrays are not equal");
}
原始碼:
using System;
class ArrayCompare {
static void Main(string[] args) {
Boolean isEqual = true;
int[] firstArray = { 10, 20, 30, 40, 40, 50 };
int[] secondArray = { 10, 20, 30, 40, 40, 50 };
if (firstArray.Length == secondArray.Length) {
for (int y = 0; y < secondArray.Length; y++) {
if (secondArray[y] != firstArray[y]) {
isEqual = false;
}
}
} else {
isEqual = false;
}
if (isEqual) {
Console.WriteLine("Both the arrays are equal.");
} else {
Console.WriteLine("Both the arrays are not equal.");
}
}
}
當兩個陣列相等時,
輸出:
Both the arrays are equal.
如果我們修改任何兩個陣列中的任何元素,
輸出:
Both the arrays are not equal.