"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 ajouter des articles à un ienuable?

Comment puis-je ajouter des articles à un ienuable?

Publié le 2025-02-07
Parcourir:752

How Can I Add Items to an IEnumerable?

Ajouter des éléments à un ienumerable

De nombreux développeurs recherchent une méthode comme des éléments.add (item) pour ajouter des éléments à un ienumerable collection. Cependant, cela ne peut pas être fait parce qu'un ienuable ne représente pas nécessairement une collection mutable. Il pourrait même ne pas représenter du tout une collection.

Par exemple, considérez la méthode suivante:

IEnumerable ReadLines()
{
     string s;
     do
     {
          s = Console.ReadLine();
          yield return s;
     } while (!string.IsNullOrEmpty(s));
}

Cette méthode génère un ienumerable en lisant les lignes de la console. Tenter d'appeler Add ("FOO") sur la collection résultante soulèverait une exception car il n'est pas pris en charge sur cette implémentation ienumerable.

, vous pouvez utiliser la méthode énumérable.concat pour annexer de nouveaux éléments sur un ienumage. Pour l'exemple ci-dessus, vous pouvez créer un nouvel ienumerable qui comprend à la fois les lignes de la console et un nouvel élément "foo" comme suit:

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

Cette approche crée un nouvel ienumerable qui inclut les éléments de l'Ienumerable original et du nouvel élément. Notez qu'il ne modifie pas la collection originale.

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