According to MSDN there is an overload for the ObservableCollection constructor to which you can pass an IEnumerable. According to the very short MSDN page this will make a “Copy” of the Ienumerable.
How do I determine how this will behave? Will the “Copy” be totally independent of the original or will changes made to the Ienumerable (Such as by a linq query) be reflected automatically in the ObservableCollection?
This constructor walks through the items in the
IEnumerableand adds each one to theObservableCollection. Once this is finished the newObservableCollectionhas nothing more to do with theIEnumerable(except that if you are dealing with a collection of reference types then theObservableCollectionwill hold references to the same objects that were supplied by theIEnumerable).