"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment puis-je optimiser la concaténation du tableau en C # pour de meilleures performances?

Comment puis-je optimiser la concaténation du tableau en C # pour de meilleures performances?

Publié le 2025-03-04
Parcourir:107

How Can I Optimize Array Concatenation in C# for Better Performance?

Boosting C # Performance de concaténation C # Array: une alternative supérieure à Concat

La méthode

c # concat fournit une solution simple pour joindre les tableaux. Cependant, ses performances peuvent être sous-optimales lorsqu'ils traitent de grands tableaux. Pour une efficacité significativement améliorée dans la concaténation du tableau, considérez cette alternative:

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 }));

Cette méthode alloue directement un nouveau tableau z de taille suffisante pour maintenir les deux 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 grands.

Considération importante: Bien que concat reste adapté aux tableaux plus petits où les performances ne sont pas critiques, l'approche ci-dessus offre un avantage substantiel de performance pour les scénarios impliquant de grands tableaux.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3