J'ai besoin de convertir IEnumerable
en List<string>
. L'un des moyens est d'itearte à travers cela et d'ajouter chaque objet à une liste, mais ce processus prend beaucoup de temps. Y a-t-un autre moyen de faire ça. Toute aide serait appréciée.Convertir IEnumerable en Liste <string> en .net 2.0
4
A
Répondre
13
Vous pouvez passer le dénombrable directement dans le constructor d'une nouvelle List<string>
instace:
List<string> list = new List<string>(yourEnumerable);
ou vous pouvez utiliser la méthode AddRange
:
List<string> list = new List<string>();
list.AddRange(yourEnumerable);
Cette réponse vous suppose que, en fait, avez déjà un IEnumerable<string>
.
Si ce n'est pas le cas, votre seule option est une boucle:
List<string> list = new List<string>();
foreach(object item in yourEnumerable)
list.Add(item.ToString());
BTW: Vous dites:
un des moyens est de itearte par cela et ajouter chaque objet à une liste, mais ce processus varie en fonction du temps
Vous devez répéter l'énumération dans tous les cas. Sinon, comment auriez-vous toutes les valeurs? Dans les deux premiers exemples de codes que je vous ai donnés, l'énumération est effectuée dans la classe List<T>
, mais cela se produit toujours.
Questions connexes
- 1. Quel est un moyen rapide de convertir un IEnumerable <Foo> en Liste <Foo> en C# 2.0?
- 2. Comment convertir un IEnumerable <IEnumerable <T>> en IEnumerable <T>
- 3. Convertir IEnumerable <XElement> en XElement
- 4. Convertir IEnumerable <int> en int []
- 5. Convertir IEnumerable <dynamic> en JsonArray
- 6. Je veux convertir un IEnumerable en Liste ou IEnumerable
- 7. C# Impossible de convertir IEnumerable <Base> en IEnumerable <Derived>
- 8. Convertir DataRowCollection à IEnumerable <T>
- 9. Convertir IEnumerable <T> à string []
- 10. Pièges pour convertir une solution .net 2.0 en .net 3.5
- 11. Convertir ICollectionView en Liste <T>
- 12. Comment convertir IEnumerable <table> en XML de Nhibernate?
- 13. comment convertir les IEnumerable <type> en type?
- 14. Comment convertir un IEnumerable <DataColumn> en un Datatable?
- 15. Convertir la liste <int> en byte []
- 16. convertir Liste <DataRow> Liste <UserEntity> en C# .net
- 17. convertir IEnumerable <string> à XPathNodeIterator
- 18. Convert IEnumerable liste <T>
- 19. Comment convertir IEnumerable en ObservableCollection?
- 20. Convertir au format Liste IEnumerable
- 21. Convertir datatable en IEnumerable <T> pour passer au résultat <T> (IEnumerable <T> data);
- 22. Comment convertir IEnumerable <MySpecificEnumType> pour IEnumerable <Enum> générique WPF (C#)
- 23. Coulée IEnumerable <Derived> à IEnumerable <BaseClass>
- 24. Comment convertir IEnumerable liste <T> à Datatable en C#
- 25. Convertir un objet entité en IEnumerable
- 26. Convertir IEnumerable <byte[]> à l'octet []
- 27. Convertir le type d'objet en liste <T>
- 28. Impossible de convertir implicitement le type IEnumerable <T> en IQueryable <T>
- 29. Réflexion .NET: Détection IEnumerable <T>
- 30. Convertir Linq ObjectQuery IQueryable en IEnumerable
Merci pour votre aide, mais j'avais IEnumerable ce n'est pas IEnumerable donc je ne peux pas utiliser cette méthode. Oui, je sais que ça va aussi traverser, mais ça prendra moins de temps que de le faire manuellement ... comme je le fais ... –
user1685652
@ user1685652: Non, cela prendra tout autant de temps. Pourquoi devrait-il être plus rapide? –
Désolé je n'ai pas posté le tout car je veux seulement le moyen de le convertir. Pour vous, je vous explique tout le processus d'abord besoin de le convertir en un objet de type DirectoryEntry puis d'accéder à ses propriétés, puis ajouter cela prend beaucoup de temps. – user1685652