Kaedah sambungan yang cekap bagi tatasusunan C#
Menggabungkan tatasusunan ialah tugas biasa dalam pengaturcaraan, yang menggabungkan elemen dua atau lebih tatasusunan menjadi tatasusunan baharu. Dalam C#, kaedah Concat
menyediakan cara yang mudah untuk menggabungkan tatasusunan, tetapi ia mungkin bukan penyelesaian yang paling berkesan untuk tatasusunan besar.
Kaedah alternatif
Untuk menggabungkan tatasusunan dengan lebih cekap, satu alternatif ialah dengan menyalin secara manual elemen setiap tatasusunan ke dalam tatasusunan baharu dengan saiz yang sesuai:
<code class="language-csharp">var z = new int[x.Length + y.Length]; x.CopyTo(z, 0); y.CopyTo(z, x.Length);</code>
Kaedah ini mencipta tatasusunan baharu bernama z
dengan saiz yang sama dengan jumlah panjang x
dan y
. Kemudian, salin elemen x
bermula dari indeks 0 hingga z
, dan kemudian salin elemen y
bermula dari indeks x.Length
(iaitu, kedudukan selepas elemen terakhir x
) ke z
tengah.
Contoh Penggunaan
Pertimbangkan contoh berikut:
<code class="language-csharp">int[] x = { 1, 2, 3 }; int[] y = { 4, 5 }; var z = new int[x.Length + y.Length]; x.CopyTo(z, 0); y.CopyTo(z, x.Length); Debug.Assert(z.SequenceEqual(new int[] { 1, 2, 3, 4, 5 }));</code>
Kod ini akan mencipta tatasusunan baharu x
yang mengandungi semua elemen y
dan z
dan penegasan akan mengesahkan bahawa elemen disambungkan dengan betul.
Perbandingan prestasi
Penanda aras menunjukkan bahawa alternatif ini lebih cekap daripada pendekatan Concat
untuk tatasusunan besar. Apabila saiz tatasusunan bertambah, perbezaan prestasi menjadi lebih ketara.
Kesimpulan
Walaupun kaedah Concat
menyediakan cara ringkas untuk menggabungkan tatasusunan, ia mungkin bukan penyelesaian yang paling berkesan untuk tatasusunan besar. Untuk senario sedemikian, penyalinan tatasusunan manual menyediakan alternatif yang lebih pantas dan lebih cekap.
Atas ialah kandungan terperinci Apakah Cara Paling Cekap untuk Menggabungkan Tatasusunan dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!