Convertir une List <T> en ObservableCollection <T>


Réponses:


249

ObservableCollection <T> a une surcharge de constructeur qui prend IEnumerable <T>

Exemple pour une liste de int:

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

Un autre exemple pour une liste de ObjectA:

ObservableCollection<ObjectA> myCollection = new ObservableCollection<ObjectA>(myList as List<ObjectA>);

Je préfère cela à la création d'une méthode d'extension. Aide à réduire le nombre de dépendances.
markokstate

1
Comment réaliser l'inverse?
Arun Prasad

19

ObervableCollection a un constructeur dans lequel vous pouvez passer votre liste. Citant MSDN :

 public ObservableCollection(
      List<T> list
 )

6

Le constructeur Observable Collection prendra un IList ou un IEnumerable.

Si vous trouvez que vous allez faire beaucoup cela, vous pouvez faire une méthode d'extension simple:

    public static ObservableCollection<T> ToObservableCollection<T>(this IEnumerable<T> enumerable)
    {
        return new ObservableCollection<T>(enumerable);
    }
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.