Подтвердить что ты не робот

Преобразование наблюдаемой коллекции в обычную коллекцию

Функция имеет параметр объекта типа. Я отлаживал его, чтобы посмотреть, какой тип данных передал мне другая часть программы. Основание было ObservableCollection. Как преобразовать это в список?

4b9b3361

Ответ 1

В зависимости от типа объекта в ObservableCollection... Я предполагаю, что это int для этого примера:

IEnumerable<int> obsCollection = (IEnumerable<int>)GetCollection();
var list = new List<int>(obsCollection);

Ответ 2

Просто нужно добавить пространство имен using System.Linq;

и используйте метод ToList() в объекте ObservableCollection

Ответ 3

Учитывая, что ObservableCollection<T> реализует IEnumerable<T>, вы можете передать его конструктору List<T>:

List<T> myList = new List<T>(myObservableCollection);

Где T - тип элементов в коллекции.

Ответ 6

Я думаю, что проблема здесь в том, что ObservableCollection может быть изменен "на лету", когда вы пытаетесь преобразовать его в список или использовать как таковой, поэтому вам может понадобиться использовать сторожевой таймер до тех пор, пока ObservableCollection не закончит