List <T>를 ObservableCollection <T>로 변환


답변:


249

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
그 반대로 달성하는 방법?
Arun Prasad

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);
    }
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.