想象一下:
public struct Account { public int Id; public double Amount; }
什么是同步两个IList< Account>的最佳算法?在C#2.0? (无linq)?
第一列表(L1)是参考列表,第二列(L2)是根据第一列进行同步的列表:
> L2中不再存在于L1中的所有帐户都必须从L2中删除
> L1中仍然存在的L2中的所有帐户必须更新(金额属性)
>所有在L1中但尚未在L2中的帐户都必须添加到L2中
Id标识帐户.找到一个天真和工作的算法并不难,但是我想知道是否有一个智能的解决方案来处理这种情况,而不会破坏可读性和性能.
编辑:
>账号类型无关紧要,可以是一个类,具有属性,平等成员等.
> L1和L2不分类
> L2项目不能替换为L1项目,它们必须被更新(按字段,按属性属性)