88 votes

Existe-t-il une méthode Linq pour ajouter un seul élément à un IEnumerable <T>?</T>

J’essaie de faire quelque chose comme ceci:

qui renvoie un pour tous les calques à l’exception du calque, mais dans certains cas, je veux juste faire :

parce qu’il n’est utilisé que dans quelques endroits par rapport aux 100 de l’utilisation habituelle qui est satisfait par . C’est pourquoi je ne veux pas créer une autre propriété qui renvoie également le calque.

41voto

cbp Points 9676

et ont maintenant été ajoutés au framework .NET Standard, vous n’avez donc plus besoin d’écrire le vôtre. Il suffit de faire ceci:

Consultez Quelles sont les 43 API qui se trouvent dans .Net Standard 2.0 mais pas dans .Net Framework 4.6.1 ? pour obtenir une liste complète des nouvelles fonctionnalités.

26voto

realbart Points 294

De nombreuses implémentations ont déjà été données. Le mien a l’air un peu différent (mais fonctionne tout aussi bien)

En outre, je trouve qu’il est pratique d’avoir également le contrôle sur l’ORDRE. ainsi souvent, j’ai aussi une méthode ConcatTo, mettant le nouvel élément op en avant.

Vous pouvez également utiliser un tableau créé implicitement. (en utilisant le mot-clé params ) afin que vous puissiez appeler la méthode pour ajouter un ou plusieurs éléments à la fois :

12voto

JaredPar Points 333733

Il n’y a pas de méthode unique pour le faire. La plus proche est la méthode mais qui essaie de combiner un avec un autre ``. Vous pouvez utiliser ce qui suit pour le faire fonctionner avec un seul élément

Ou ajoutez simplement une nouvelle méthode d’extension

7voto

Reed Copsey Points 315315

Vous pouvez utiliser Enumerable.Concat :

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X