Mengoptimumkan Penggabungan Array dalam C#
Menggabungkan tatasusunan dalam C# ialah tugas biasa. Kaedah Concat
menawarkan penyelesaian mudah:
<code class="language-csharp">int[] x = { 1, 2, 3 }; int[] y = { 4, 5 }; int[] z = x.Concat(y).ToArray(); Debug.Assert(z.SequenceEqual(new int[] { 1, 2, 3, 4, 5 }));</code>
Walau bagaimanapun, prestasi Concat
merosot dengan ketara dengan tatasusunan yang lebih besar (seperti yang dibincangkan dalam "Penggabungan Array dalam C#," prestasi menurun dengan ketara melebihi 10,000 elemen).
Alternatif Berprestasi Tinggi
Untuk kecekapan yang lebih baik, terutamanya dengan tatasusunan yang banyak, pendekatan manual menawarkan kelebihan yang ketara. Ini melibatkan mencipta tatasusunan baharu dengan saiz yang betul dan menyalin terus elemen:
<code class="language-csharp">var z = new int[x.Length + y.Length]; x.CopyTo(z, 0); y.CopyTo(z, x.Length);</code>
Kaedah ini mengelakkan overhed yang wujud dalam Concat
, menghasilkan penyatuan yang lebih pantas, terutamanya untuk set data yang besar. Walaupun lebih bertele-tele, peningkatan prestasi menjadikannya pilihan yang lebih baik untuk manipulasi tatasusunan berskala lebih besar.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggabungkan Tatasusunan dengan Cekap dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!