我有一个System.Collections.Generic.List的本地副本,该副本由相同类型的服务器列表填充。当服务器列表被更改(添加到列表中的项或从列表中删除的项)时,我的应用程序将收到通知。
作为对该通知的回应,我希望更新列表的本地副本。我不想清除本地副本,并将其完全替换为服务器副本。我想找出不同之处,删除被删除的,并添加被添加的。
做这件事最好的方法是什么?
发布于 2014-03-20 11:17:27
如果通知包含整个远程列表,则可以使用Linq的Except
List<int> localList = new List<int>() {1, 2, 3};
List<int> remoteList = new List<int>() {1, 2, 4};
var addedItems = remoteList.Except(localList);
var removedItems = localList.Except(remoteList);https://stackoverflow.com/questions/22531142
复制相似问题