Arrays vergleichen in C#
-
Verwenden Sie die Funktion
SequenceEqual()
, um Arrays inC#
zu vergleichen -
Vergleichen Sie übereinstimmende Elemente, um Arrays in
C#
zu vergleichen
![Arrays vergleichen in C#](/img/Csharp/feature-image---compare-arrays-in-csharp.webp)
Dieser Artikel behandelt den Vergleich zweier Arrays, um festzustellen, ob sie gleich sind.
Die beiden Methoden, die wir besprechen und implementieren werden, um die Arrays zu vergleichen, sind:
- die Funktion
SequenceEqual()
; - Vergleich der übereinstimmenden Elemente in jedem der Arrays.
Wenn zwei Arrays die gleichen übereinstimmenden Elemente und die gleiche Anzahl von Elementen haben, werden sie als gleich bezeichnet.
Verwenden Sie die Funktion SequenceEqual()
, um Arrays in C#
zu vergleichen
Zuerst müssen wir die Bibliothek importieren, um auf die Funktion SequenceEqual()
zugreifen zu können.
using System.Linq;
Erstellen Sie eine ArrayCompare
-Klasse mit der darin enthaltenen Main()
-Funktion.
class ArrayCompare {
static void Main(string[] args) {}
}
Deklarieren Sie die Variable isEqual
als Variable vom Datentyp Boolean. Es wird True oder False zurückgeben, je nachdem, ob die Arrays gleich sind oder nicht.
Boolean isEqual;
Initialisieren Sie zwei Arrays vom Datentyp int[]
mit den Namen firstArray
und secondArray
und weisen Sie ihnen ganzzahlige Werte zu, die verglichen werden sollen.
int[] firstArray = { 10, 20, 30, 40, 40, 50 };
int[] secondArray = { 10, 20, 30, 40, 40, 50 };
Wir verwenden die Methode SequenceEqual()
, um diese beiden Arrays zu vergleichen.
isEqual = firstArray.SequenceEqual(secondArray);
Nachdem wir nun einen wahren oder falschen Wert in der Variablen isEqual
gespeichert haben, müssen wir prüfen, was sie zurückgibt. Wenn der zurückgegebene Wert wahr ist, wird der if
-Block ausgeführt, und wenn der zurückgegebene Wert falsch ist, wird der else
-Block ausgeführt.
if (isEqual) {
Console.WriteLine("Both the arrays are equal");
} else {
Console.WriteLine("Both the arrays are not equal");
}
Quellcode:
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.");
}
}
}
Wenn beide Arrays gleich sind,
Ausgabe:
Both the arrays are equal.
Angenommen, wir ändern ein beliebiges Element im firstArray
in,
int[] firstArray = { 10, 20, 30, 40, 30, 60 };
Ausgabe:
Both the arrays are not equal.
Vergleichen Sie übereinstimmende Elemente, um Arrays in C#
zu vergleichen
Wir erstellen eine boolesche Variable und setzen ihren Wert innerhalb der Funktion Main()
auf true.
Boolean isEqual = true;
Initialisieren Sie zwei Arrays auf die gleiche Weise wie bei der vorherigen Methode.
int[] firstArray = { 10, 20, 30, 40, 40, 50 };
int[] secondArray = { 10, 20, 30, 40, 40, 50 };
Wir müssen die Länge beider Arrays bestimmen. Um gleich zu sein, müssen außerdem alle Indexwerte gleich sein.
Wenden wir also eine Bedingung an, um sicherzustellen, dass die Längen von firstArray
und secondArray
gleich sind. Wenn es True zurückgibt, müssen wir die Werte an allen Indizes validieren; andernfalls ist der isEqual
-Wert falsch.
Um die Gleichheit aller Indizes von Arrays zu überprüfen, verwenden wir eine for
-Schleife, die bei Index 0 beginnt und über die Länge von secondArray
iteriert. Es überprüft die Werte aller Indizes, und wenn sie nicht alle gleich sind, setzt es den Wert von isEqual
auf False.
if (firstArray.Length == secondArray.Length) {
for (int y = 0; y < secondArray.Length; y++) {
if (secondArray[y] != firstArray[y]) {
isEqual = false;
}
}
} else {
isEqual = false;
}
Als letztes müssen wir noch die Meldung ausgeben, ob die Arrays gleich sind.
if (isEqual) {
Console.WriteLine("The arrays are equal");
} else {
Console.WriteLine("The arrays are not equal");
}
Quellcode:
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.");
}
}
}
Wenn beide Arrays gleich sind,
Ausgabe:
Both the arrays are equal.
Wenn wir ein beliebiges Element in zwei beliebigen Arrays ändern,
Ausgabe:
Both the arrays are not equal.
I'm a Flutter application developer with 1 year of professional experience in the field. I've created applications for both, android and iOS using AWS and Firebase, as the backend. I've written articles relating to the theoretical and problem-solving aspects of C, C++, and C#. I'm currently enrolled in an undergraduate program for Information Technology.
LinkedIn