Une fonction a un paramètre de type objet. Je l'ai débogué pour voir quel type de type de données l'autre partie du programme m'a envoyé. La base était d'une ObservableCollection. Comment puis-je convertir cela en liste?Conversion d'une collection observable en collection normale
Répondre
En fonction du type d'objet dans le ObservableCollection
... Je suppose que c'est un int
pour cet exemple:
IEnumerable<int> obsCollection = (IEnumerable<int>)GetCollection();
var list = new List<int>(obsCollection);
ObservableCollection
implémente IList<T>
, donc vous devriez pouvoir utiliser ToList()
dessus.
Seulement en 3.5 avec LINQ, je dirais qu'il suffit de créer la liste vous-même à partir d'un IEnumerable. Cela implique toujours une distribution si vous avez seulement un objet. –
La propriété Items retourne un IList. See http://msdn.microsoft.com/en-us/library/ms132435.aspx
Étant donné que ObservableCollection<T>
outils IEnumerable<T>
vous pouvez donner au constructeur de List<T>
:
List<T> myList = new List<T>(myObservableCollection);
Où T
est le type des éléments de la collection.
juste besoin d'ajouter l'espace de noms using System.Linq;
et utiliser la méthode ToList()
dans l'objet ObservableCollection
Je pense que la question est ici que ObservableCollection pourrait être modifié à la volée lorsque vous essayez de le convertir en Liste ou utilisation en tant que telle, donc vous devrez peut-être utiliser un timer de surveillance jusqu'à ce que ObservableCollection se termine
- 1. Reliure Observable collection
- 2. Collection observable avec l'objet actuel?
- 3. Comment copier la collection observable
- 4. DataGrid Silverlight rafraîchissent collection observable
- 5. Propriété de collection observable modifiée sur l'élément de la collection
- 6. Sous-type dans une collection Observable vide
- 7. Silverlight 3 - Filtrage d'une collection observable
- 8. Mettre à jour la collection observable en la réactualisant ou en l'ajoutant à la collection?
- 9. Conversion d'une collection Java d'une classe en collection de chaînes
- 10. java collection lente conversion
- 11. Prise en charge de transactions dans une collection observable
- 12. Comment faire pour supprimer des éléments d'une collection Observable
- 13. Obtenir une valeur distincte de la classe de collection observable
- 14. LINQ pour sélectionner x quantité d'objets d'une collection observable
- 15. Relier la collection observable à plusieurs arbres wpf
- 16. Silverlight: lier une collection observable à différents contrôles usuels
- 17. Liaison d'une boîte à liste SelectedItem à une collection observable?
- 18. Modification de la collection observable non reflétée dans l'interface utilisateur
- 19. Conversion d'une collection générique d'un type concret en une collection d'un type de base
- 20. Ruby/Rails Collection Collection
- 21. $ .each ([collection]) vs $ ([collection]). Each()
- 22. Trier la collection et la sous-collection en même temps
- 23. Comment convertir un .net type de collection en collection VBA?
- 24. Conversion d'une distribution uniforme en distribution normale
- 25. Recherche avancée/file d'attente collection collection
- 26. Collection avec deux clés
- 27. collection subsonic
- 28. collection ActiveRecord
- 29. Annuler ConvertToCapped à une collection
- 30. Garbage Collection en C++/CLI
@Matthew, je l'ai réécrit sans le casting explicite inutile - le changer si vous ne l'aimez pas de cette façon. –
@ 280Z28: Selon la question initiale, il obtient un objet comme sa collection, auquel cas une distribution est nécessaire quelque part. –
pourquoi le convertir en IEnumerable <>? Ne pourrais-je pas le dépasser dans la nouvelle liste <> (ici)? –