Menyambung tatasusunan dengan cekap dalam C#
Apabila bekerja dengan tatasusunan dalam C#, anda selalunya perlu menggabungkan atau menggabungkan tatasusunan untuk membentuk satu tatasusunan yang lebih besar. Walaupun terdapat pelbagai cara untuk menyelesaikan tugas ini, adalah penting untuk memilih kaedah yang paling cekap dan sesuai. Soalan biasa ialah:
Bagaimana untuk menggabungkan dua tatasusunan besar dalam C# menggunakan kaedah yang lebih cekap daripada Concat()?
Pertimbangkan tatasusunan berikut:
<code class="language-c#">int[] x = new int[] { 1, 2, 3 }; int[] y = new int[] { 4, 5 }; int[] z = // 你的答案在这里... Debug.Assert(z.SequenceEqual(new int[] { 1, 2, 3, 4, 5 }));</code>
Walaupun kaedah Concat() boleh digunakan untuk penggabungan tatasusunan, kecekapannya akan dikurangkan untuk tatasusunan yang besar. Untuk menyelesaikan masalah ini, cara yang lebih cekap ialah mencipta tatasusunan baharu dengan kapasiti yang sesuai dan menyalin elemen secara manual daripada kedua-dua tatasusunan ke dalam tatasusunan baharu:
<code class="language-c#">var z = new int[x.Length + y.Length]; x.CopyTo(z, 0); y.CopyTo(z, x.Length);</code>
Kaedah ini tidak memerlukan penciptaan koleksi perantaraan, sekali gus meningkatkan prestasi. Ia amat sesuai untuk tatasusunan besar, di mana overhed kaedah Concat() akan menjadi lebih jelas.
Atas ialah kandungan terperinci Bagaimana untuk Menggabungkan Tatasusunan Besar dengan Cekap dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!