C# 如何在有条件的情况下从ObservaleCollection复制数据?

C# 如何在有条件的情况下从ObservaleCollection复制数据?,c#,wpf,C#,Wpf,我想要一个ObservableCollection的副本,通过使用某些条件过滤它。请帮帮我。 我输入了以下代码: ObservableCollection<YourEntity> clonedCollection = new ObservableCollection<YourEntity>(clonedList); 这是可以的,但需要使用从旧对象筛选的新对象进行复制。需要从clonedList复制某些特定数据使用linq查询来归档源集合中的元素。 A.哪里的查询做得很好

我想要一个ObservableCollection的副本,通过使用某些条件过滤它。请帮帮我。 我输入了以下代码:

ObservableCollection<YourEntity> clonedCollection = new ObservableCollection<YourEntity>(clonedList);

这是可以的,但需要使用从旧对象筛选的新对象进行复制。需要从clonedList复制某些特定数据

使用linq查询来归档源集合中的元素。 A.哪里的查询做得很好。您可以使用。选择或任何其他查询

ObservableCollection<YourEntity> cloned = new ObservableCollection<YourEntity>(source.Where(e => e.IsSomeConditionFulfilled()));

请注意,您不会克隆将IEnumerable传递给ObservableCollection构造函数的对象-克隆的集合和源将引用相同的对象。这意味着,如果通过源集合e更改某些YourEntity实例属性。Gsource.First.SomeProperty=SomeValue,该对象也包含在克隆的集合e中。Gcloned.First==source.First,然后这些更改将反映在那里。

感谢您的快速回复。好的,我能理解。但我需要用克隆集合的引用克隆observableCollection。通过传递一些条件来筛选克隆对象,克隆对象将在两个对象中都受到影响。的可能重复项