Una función tiene un parámetro de tipo objeto. Lo depuré para ver qué tipo de datos me envió la otra parte del programa. La base era de una ObservableCollection. ¿Cómo convierto eso a una lista?Conversión de la colección observable a la colección normal
Respuesta
Dependiendo del tipo de objeto en el ObservableCollection
... Vamos a suponer que es un int
para este ejemplo:
IEnumerable<int> obsCollection = (IEnumerable<int>)GetCollection();
var list = new List<int>(obsCollection);
ObservableCollection
implementa IList<T>
, por lo que debería poder utilizar ToList()
en él.
Solo en 3.5 con LINQ, argumentaría que la creación de la lista usted mismo de un IEnumerable es más fácil. Esto todavía implica un yeso si solo tienes un objeto. –
La propiedad Items devuelve un IList. See http://msdn.microsoft.com/en-us/library/ms132435.aspx
Dado que ObservableCollection<T>
implementos IEnumerable<T>
se puede dar al constructor de List<T>
:
List<T> myList = new List<T>(myObservableCollection);
Dónde T
es del tipo de los elementos de la colección.
sólo tiene que añadir el espacio de nombres using System.Linq;
y utilizar el método ToList()
en el objeto ObservableCollection
Creo que el problema aquí es que ObservableCollection podría modificarse sobre la marcha cuando intenta convertirla en una Enumere o use como tal, por lo que es posible que necesite usar un temporizador de vigilancia hasta que ObservableCollection termine
- 1. Cómo filtrar Colección observable clase de colección
- 2. Observable Colección propiedad modificada en el elemento en la colección
- 3. Solo lectura colección observable
- 4. Filtrar una colección observable
- 5. Observable Colección reemplazar elemento
- 6. Cómo copiar colección observable
- 7. ¿Hay alguna forma de convertir una colección observable en una colección normal?
- 8. Eliminación de una colección observable
- 9. Vinculación colección observable a ListBox en XAML
- 10. Conversión de ArrayList a Colección
- 11. Ordenando una colección observable con linq
- 12. Java: clon colección arbitraria mediante la referencia a la colección
- 13. Colección Backbone - Filtrando y Renderizando la Colección pierde referencia a la Colección original no filtrada
- 14. la conversión de una colección de Java en una colección Scala
- 15. Conversión de JSONArray a la matriz normal
- 16. Ordenar la colección dentro de la colección usando Linq
- 17. de Ruby Rails Colección/a Colección
- 18. LInq que consulta la colección dentro de la colección
- 19. VisualCollection arrojando una excepción fuera de rango, vinculada a la colección Observable
- 20. Cómo transformar la colección Scala de la Opción [X] a la colección de X
- 21. Convertir la colección a la lista
- 22. Cómo crear una colección observable personalizada utilizando ConcurrentDictionary, INotifyCollectionChanged, INotifyPropertyChanged
- 23. Carga de la colección NHibernate, "acceso ilegal a la colección de carga"
- 24. UnsupportedOperationException en la Colección
- 25. ¿Debería instanciar una colección o heredar de la colección?
- 26. Opciones de la colección Backbone.js
- 27. Agregar cookie a la colección Request.Cookies
- 28. ¿Cómo convertir una colección a la lista?
- 29. iteración de la colección hash
- 30. HttpCookieCollection.Add vs HttpCookieCollection.Set - ¿Se copia la colección Request.Cookies a la colección Response.Cookies?
@Matthew, lo reescribí sin el molde explícito innecesario; cámbielo si no le gusta de esta manera. –
@ 280Z28: De acuerdo con la pregunta original, él está obteniendo un objeto como su colección, en cuyo caso se necesita un yeso en alguna parte. –
¿por qué convertirlo en IEnumerable <>? ¿No podría simplemente pasarlo en la nueva lista <> (aquí)? –