以下从另一个更新 ObservableCollection
的方法(都基于同一类)是否足够好,或者以其他方式完成(或只是改进)更好?
foreach (MyEntity c in collection2)
{
collection1.Where(p => p.EntID == c.EntID).FirstOrDefault().Field1 = c.Field1;
collection1.Where(p => p.EntID == c.EntID).FirstOrDefault().Field2 = c.Field2;
...
collection1.Where(p => p.EntID == c.EntID).FirstOrDefault().FieldN = c.FieldN;
}
EntID
是主键。
(“足够好”是指快速高效)。
最佳答案
var myItem = collection1.Where(p => p.EntID == c.EntID).FirstOrDefault();
if (myItem == null)
continue;
myItem.Field1 = c.Field1;
myItem.Field2 = c.Field2;
...
myItem.FieldN = c.FieldN;
如果 myItem
和 c
是不同的类型,请查看 AutoMapper。
关于c# - 从另一个集合更新集合的有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5747113/