Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Membandingkan Tatasusunan dengan Cekap dalam C#?
Kaedah perbandingan tatasusunan C#
Kaedah Arrays.equals()
Java boleh membandingkan elemen dua tatasusunan dengan mudah. Adakah terdapat fungsi serupa dalam C# untuk membandingkan kandungan tatasusunan dengan cekap?
Penyelesaian:
Walaupun C# tidak mempunyai persamaan yang tepat dengan kaedah Arrays.equals()
, kaedah Enumerable.SequenceEqual
menyediakan fungsi yang serupa. Kaedah ini ditakrifkan dalam System.Linq
ruang nama dan boleh digunakan untuk membandingkan elemen mana-mana koleksi IEnumerable<T>
, termasuk tatasusunan.
Penggunaan:
Untuk membandingkan dua tatasusunan menggunakan Enumerable.SequenceEqual
, hanya hantar kedua-dua tatasusunan sebagai argumen kepada kaedah:
<code class="language-csharp">bool areEqual = Enumerable.SequenceEqual(array1, array2);</code>
Kelebihan:
KaedahEnumerable.SequenceEqual
mempunyai kelebihan berikut apabila membandingkan tatasusunan C#:
int[]
, string[]
, object[]
). Enumerable.SequenceEqual
Gunakan kaedah pelaksanaan malas, yang bermaksud tatasusunan hanya akan dilalui jika kandungan tatasusunan berbeza. Pilihan lain:
Jika anda perlu membandingkan secara khusus tatasusunan jenis primitif (cth., int[]
, double[]
), anda boleh menggunakan pengendali kesamaan struktur terbina dalam (==
) atau kaedah System.Array.Equals
. Walau bagaimanapun, pilihan ini tidak serba boleh seperti Enumerable.SequenceEqual
.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membandingkan Tatasusunan dengan Cekap dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!