C#-Array-Vergleich: Effiziente Lösung
Java bietet die Methode Arrays.equals()
zum bequemen Vergleich zweier Basistyp-Arrays. Verfügt C# über eine ähnliche integrierte Funktion? Lassen Sie uns untersuchen, wie Sie Array-Inhalte in C# effizient vergleichen können.
Verwenden Sie Enumerable.SequenceEqual
Eine Möglichkeit in C# ist die Verwendung der Enumerable.SequenceEqual
-Methode. Diese Methode funktioniert bei IEnumerable<T>
-Sammlungen und eignet sich für Arrays und andere Typen, die IEnumerable<T>
implementieren.
Codebeispiel:
<code class="language-csharp">int[] array1 = { 1, 2, 3 }; int[] array2 = { 1, 2, 3 }; bool areEqual = array1.SequenceEqual(array2);</code>
Wenn in diesem Beispiel array1
und array2
dieselben Elemente und in derselben Reihenfolge haben, gibt SequenceEqual
true
zurück. Es verwendet den standardmäßigen Gleichheitsvergleich von Elementtypen.
Hinweis: Enumerable.SequenceEqual
ist allgemeiner als sein Java-Äquivalent, da es mit jeder IEnumerable<T>
-Instanz verwendet werden kann, nicht nur mit Arrays.
Benutzerdefinierter Komparator
Wenn Sie mehr Flexibilität benötigen, können Sie Ihren eigenen benutzerdefinierten Gleichheitsvergleicher erstellen. Dies ist nützlich, wenn Sie mit komplexen Objekten arbeiten oder bestimmte Vergleichsregeln definieren müssen.
Codebeispiel:
<code class="language-csharp">public class CustomComparer : IEqualityComparer<Student> { public bool Equals(Student x, Student y) { // ...在此处实现自定义比较逻辑... } public int GetHashCode(Student obj) { // ...在此处实现自定义哈希码逻辑... } } ... Student[] studentArray1 = { ... }; Student[] studentArray2 = { ... }; bool areEqual = studentArray1.SequenceEqual(studentArray2, new CustomComparer());</code>
Durch die Definition eines benutzerdefinierten Komparators können Sie das Verhalten der Gleichheitsprüfung an Ihre spezifischen Anforderungen anpassen.
Das obige ist der detaillierte Inhalt vonVerfügt C# über eine integrierte Funktion zum Vergleichen von Arrays wie Javas Arrays.equals()?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!