我有一個ReactiveList<Monitor> Monitors
和IEnumerable<Monitor> newMonitors
。顯示器內部,有定義的唯一SN:如何將IEnumerable合併到ReactiveList中並刪除重複的項目?
public class Monitor
{
public string SN {get;set;}//unique
}
ReactiveList<Monitor> Monitors
IEnumerable<Monitor> newMonitors
現在我想合併成newMonitors
和Monitors
通過SN
刪除重複的項目。
我想使用ReactiveList
提供的方法而不是一般的LINQ,因爲我想保留在我的綁定中使用的ReactiveList
及其DerivedCollection
的通知。
我目前的解決辦法是檢查項目已經存在,並逐個添加它,就像
foreach (var m in newMonitors)
{
if(Monitors.Contains(m))//to override the comparison operators here
continue;
else
Monitors.Add(m);
}
我認爲表現將處於低newMonitors的數量可能是數以千計。
任何其他優雅的方式來做到這一點?
飛