Преобразование List <T> в ObservableCollection <T>

119

У меня есть файл, List<T>который заполняется из JSON. Мне нужно преобразовать его в файл, ObservableCollection<T>чтобы привязать его к моему GridView.

Какие-либо предложения?

raghu_3
источник
Дубликат - stackoverflow.com/questions/9069445/…
vapcguy

Ответы:

254

ObservableCollection <T> имеет перегрузку конструктора, которая принимает IEnumerable <T>

Пример для списка int:

ObservableCollection<int> myCollection = new ObservableCollection<int>(myList);

Еще один пример для списка ObjectA:

ObservableCollection<ObjectA> myCollection = new ObservableCollection<ObjectA>(myList as List<ObjectA>);
Денис
источник
Я предпочитаю это созданию метода расширения. Помогает вести обратный отсчет зависимости.
markokstate
1
Как добиться наоборот?
Арун Прасад
19

У ObervableCollection есть конструктор, в котором вы можете передать свой список. Цитата из MSDN :

 public ObservableCollection(
      List<T> list
 )
Петр Стапп
источник
6

Конструктор Observable Collection примет IList или IEnumerable.

Если вы обнаружите, что собираетесь делать это много раз, вы можете создать простой метод расширения:

    public static ObservableCollection<T> ToObservableCollection<T>(this IEnumerable<T> enumerable)
    {
        return new ObservableCollection<T>(enumerable);
    }
PaulC
источник