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中文網其他相關文章!