Ubah List <T> menjadi ObservableCollection <T>


Jawaban:


249

ObservableCollection <T> memiliki overload konstruktor yang membutuhkan IEnumerable <T>

Contoh untuk Daftar int:

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

Satu lagi contoh untuk Daftar ObjectA:

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

Saya lebih suka ini daripada membuat metode ekstensi. Membantu menjaga ketergantungan menghitung mundur.
markokstate

1
Bagaimana cara mencapai sebaliknya?
Arun Prasad

19

ObervableCollection memiliki konstruktor di mana Anda dapat melewati daftar Anda. Mengutip MSDN :

 public ObservableCollection(
      List<T> list
 )

6

Konstruktor Observable Collection akan menggunakan IList atau IEnumerable.

Jika ternyata Anda akan sering melakukan ini, Anda dapat membuat metode ekstensi sederhana:

    public static ObservableCollection<T> ToObservableCollection<T>(this IEnumerable<T> enumerable)
    {
        return new ObservableCollection<T>(enumerable);
    }
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.