Maison >développement back-end >C++ >Comment puis-je ajouter efficacement de nouveaux éléments à un tableau de chaînes en C# ?
Ajout de nouveaux éléments aux tableaux de chaînes en C#
Développer efficacement des tableaux de chaînes en C# nécessite un examen attentif des méthodes disponibles. Plusieurs approches existent, chacune avec ses propres forces et faiblesses.
La Liste
Pour les situations nécessitant un redimensionnement dynamique, un List<string>
offre la solution la plus simple :
<code class="language-csharp">List<string> stringList = new List<string>(); stringList.Add("Hello");</code>
Cela élimine le besoin de redimensionner manuellement le tableau et simplifie l'ajout d'éléments.
Méthode 1 : Array.Resize
Array.Resize
modifie le tableau d'origine en place, augmentant sa taille pour accueillir un nouvel élément :
<code class="language-csharp">string[] arr = { "Apple", "Banana" }; Array.Resize(ref arr, arr.Length + 1); arr[arr.Length - 1] = "Orange";</code>
Cette approche est efficace pour les ajouts peu fréquents mais peut être moins performante pour les modifications fréquentes.
Méthode 2 : Array.Copy
Cette méthode crée un nouveau tableau plus grand, copie les éléments existants, puis ajoute le nouvel élément :
<code class="language-csharp">string[] arr = { "Apple", "Banana" }; string[] newArr = new string[arr.Length + 1]; Array.Copy(arr, newArr, arr.Length); newArr[newArr.Length - 1] = "Orange";</code>
Bien que la création d'un nouveau tableau entraîne une certaine surcharge, elle évite les problèmes de performances potentiels associés à un redimensionnement répété.
Méthode 3 : Concat de LINQ
LINQ fournit un moyen concis d'ajouter des éléments en utilisant Concat
:
<code class="language-csharp">string[] arr = { "Apple", "Banana" }; string[] newArr = arr.Concat(new[] { "Orange" }).ToArray();</code>
C'est élégant mais pourrait être légèrement moins efficace que Array.Copy
pour les très grands tableaux en raison de la surcharge des opérations LINQ.
Sélection de l'approche optimale
La meilleure méthode dépend de vos besoins spécifiques. List<string>
est idéal pour les tableaux dynamiques avec des ajouts et des suppressions fréquents. Pour les tableaux statiques avec des changements peu fréquents, Array.Resize
ou Array.Copy
sont des choix appropriés. Concat
de LINQ offre une syntaxe propre mais peut avoir une légère pénalité de performances pour les tableaux extrêmement grands.
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!