Ajout d'éléments à IEnumerable Collections
Collections énumérables, représentées par l'attribut IEnumerable interface, fournit un moyen de parcourir une séquence de valeurs sans avoir un accès direct à la collection elle-même. Contrairement à List, qui permet la modification et l'ajout d'éléments, IEnumerable les collections ne possèdent pas intrinsèquement une telle fonctionnalité.
Considérons l'exemple suivant :
IEnumerable<string> items = new string[] { "msg" };
items.ToList().Add("msg2");
Après avoir exécuté ce code, le nombre d'éléments de la collection reste égal à un. En effet, IEnumerable ne représente pas une collection mutable. Il fournit simplement un moyen d'accéder aux éléments de manière séquentielle.
Pour obtenir le comportement souhaité en ajoutant des éléments à un objet IEnumerable collection, vous devez utiliser une approche qui crée un nouveau IEnumerable objet avec l’élément ajouté inclus. Une façon d'y parvenir consiste à utiliser la méthode Enumerable.Concat :
items = items.Concat(new[] { "foo" });
Cette ligne de code crée un nouveau IEnumerable objet qui contient tous les éléments de la collection d'éléments d'origine, suivi de l'élément supplémentaire "foo". Le nouvel objet reflétera toutes les modifications apportées à la collection d'origine, garantissant ainsi que vous disposez toujours d'une représentation à jour des données.
Il est important de noter que cette approche ne modifie pas le tableau des éléments d'origine. Au lieu de cela, il crée un nouvel objet de collection qui fournit une vue mise à jour des données.
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