Maison >développement back-end >C++ >Les collections IEnumerable peuvent-elles être augmentées comme des listes ?

Les collections IEnumerable peuvent-elles être augmentées comme des listes ?

Patricia Arquette
Patricia Arquetteoriginal
2025-01-02 17:58:42667parcourir

Can IEnumerable Collections Be Augmented Like Lists?

IEnumerable Les collections seront-elles augmentées comme des listes ?

IEnumerable les collections représentent des séquences d'éléments qui peuvent ou non être mutables. Contrairement aux listes, IEnumerable les collections ne prennent pas automatiquement en charge l'ajout d'éléments.

Lorsque vous tentez d'ajouter des éléments à un objet IEnumerable collecte, comme dans l’exemple fourni, elle est en réalité inefficace. La méthode ToList() convertit le IEnumerable à une liste, permettant l'ajout d'éléments. Cependant, l'original IEnumerable reste inchangé, ce qui donne une collection avec un seul élément.

Existe-t-il une alternative à items.Add(item) ?

Non, il n'y a pas d'équivalent direct à items.Add(item) dans IEnumerable. Cependant, vous pouvez créer un nouveau fichier IEnumerable qui inclut à la fois les éléments d'origine et le nouvel élément. Cette technique s'appuie sur la méthode Enumerable.Concat :

items = items.Concat(new[] { "foo" });

Cette approche crée un fichier IEnumerable qui intègre tous les éléments de la collection originale et l’élément ajouté. De plus, cela garantit que toute modification future apportée à la collection d'origine sera reflétée dans le nouveau IEnumerable.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn