Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Menggabungkan Tatasusunan Besar dengan Cekap dalam C#?

Bagaimana untuk Menggabungkan Tatasusunan Besar dengan Cekap dalam C#?

Patricia Arquette
Lepaskan: 2025-01-17 06:51:08
asal
801 orang telah melayarinya

How to Efficiently Concatenate Large Arrays in C#?

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan