Améliorer les performances de concaténation de tableaux C# : une alternative supérieure à la concaténation
La méthode Concat
de C# fournit une solution simple pour joindre des tableaux. Cependant, ses performances peuvent être sous-optimales lorsqu’il s’agit de grandes baies. Pour une efficacité considérablement améliorée dans la concaténation de tableaux, envisagez cette alternative :
<code class="language-csharp">int[] x = new int[] { 1, 2, 3 }; int[] y = new int[] { 4, 5 }; int[] z = new int[x.Length + y.Length]; Array.Copy(x, z, x.Length); Array.Copy(y, 0, z, x.Length, y.Length); Debug.Assert(z.SequenceEqual(new int[] { 1, 2, 3, 4, 5 }));</code>
Cette méthode alloue directement un nouveau tableau z
de taille suffisante pour contenir à la fois x
et y
. Il exploite ensuite Array.Copy
pour transférer efficacement les éléments de x
et y
dans z
. Cela évite la création de tableaux intermédiaires, conduisant à une exécution plus rapide, en particulier avec des ensembles de données plus volumineux.
Considération importante : Bien que Concat
reste adapté aux baies plus petites où les performances ne sont pas critiques, l'approche ci-dessus offre un avantage substantiel en termes de performances pour les scénarios impliquant de grandes baies.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!