首頁 >後端開發 >C++ >如何在 C# 中高效連接大型數組?

如何在 C# 中高效連接大型數組?

Patricia Arquette
Patricia Arquette原創
2025-01-17 06:51:08802瀏覽

How to Efficiently Concatenate Large Arrays in C#?

C#中高效率連線數組

在C#中處理數組時,經常需要組合或連接數組以形成單一更大的數組。雖然存在多種方法可以完成此任務,但選擇最高效且最合適的方法至關重要。一個常見問題是:

如何使用比Concat()更有效的方法來連接C#中的兩個大型陣列?

考慮以下數組:

<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>

雖然Concat()方法可用於數組連接,但對於大型數組,其效率會降低。為了解決這個問題,一種更有效的方法是建立一個具有適當容量的新數組,並將兩個數組中的元素手動複製到新數組中:

<code class="language-c#">var z = new int[x.Length + y.Length];
x.CopyTo(z, 0);
y.CopyTo(z, x.Length);</code>

此方法不需要建立中間集合,從而提高了效能。它尤其適用於大型數組,在大型數組中,Concat()方法的開銷會更加明顯。

以上是如何在 C# 中高效連接大型數組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn