Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 合并可观测集合的更改_C#_Observablecollection - Fatal编程技术网

C# 合并可观测集合的更改

C# 合并可观测集合的更改,c#,observablecollection,C#,Observablecollection,我有两个可观察到的集合,CollectionA和CollectionB,其中 class ClassA { public int id { get; } public string propA { get; set; } private string PropB { get{return propA;} set{propA = value; NotifyPropertyChanged();} } private ClassB propC { get; set; } public ClassB P

我有两个
可观察到的集合
,CollectionA和CollectionB,其中

class ClassA
{
public int id { get; }
public string propA { get; set; }
private string PropB { get{return propA;} set{propA = value; NotifyPropertyChanged();} }
private ClassB propC { get; set; }
public ClassB PropC { get{return propC;} set{propC=value; NotifyPropertyChanged();} }
}
CollectionA包含10个随机值作为属性的元素,CollectionB是CollectionA的深层副本

如何将CollectionB及其元素的更改合并回CollectionA及其元素,以便仅为更改的属性引发NotifyPropertyChanged


编辑:实体通过id进行区分。

是否有任何属性是唯一标识符,或者您是否需要与所有属性进行完全比较以区分条目?我需要进行完全比较,然后仅将CollectionB的更改合并到CollectionA中,以提出相应的NotifyPropertyChangedSo我们不谈论添加/已删除项目,但项目数和更改的属性数大致相同?我首先误解了我想的问题。实际上两者都有,所以CollectionB中新添加的项目也需要添加到CollectionA中。我希望那里有一些反射魔法…你如何区分新项目和更改项目?新项目是否总是在更改的项目之后出现,并且永远不会删除项目?