Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Menggabungkan Tatasusunan dengan Cekap dalam C#?

Bagaimanakah Saya Boleh Menggabungkan Tatasusunan dengan Cekap dalam C#?

Linda Hamilton
Linda Hamiltonasal
2025-01-17 06:47:10179semak imbas

How Can I Efficiently Concatenate Arrays in C#?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn