Chuyển đổi một danh sách <T> thành một bộ sưu tập quan sát <T>


Câu trả lời:


249

ObservableCollection <T> có quá tải hàm tạo chiếm IEnumerable <T>

Ví dụ cho Danh sách int:

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

Thêm một ví dụ cho Danh sách ObjectA:

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

Tôi thích điều này hơn là tạo một phương pháp mở rộng. Giúp đếm ngược sự phụ thuộc.
markokstate

1
Làm thế nào để đạt được ngược lại?
Arun Prasad

19

ObervableCollection có hàm tạo mà bạn có thể chuyển danh sách của mình. Trích dẫn MSDN :

 public ObservableCollection(
      List<T> list
 )

6

Hàm tạo Bộ sưu tập có thể quan sát sẽ lấy IList hoặc IEnumerable.

Nếu bạn thấy rằng bạn sẽ làm điều này nhiều, bạn có thể tạo một phương pháp mở rộng đơn giản:

    public static ObservableCollection<T> ToObservableCollection<T>(this IEnumerable<T> enumerable)
    {
        return new ObservableCollection<T>(enumerable);
    }
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.