Предположим, у меня есть один список:
IList<int> originalList = new List<int>();
originalList.add(1);
originalList.add(5);
originalList.add(10);
И еще один список ...
IList<int> newList = new List<int>();
newList.add(1);
newList.add(5);
newList.add(7);
newList.add(11);
Как я могу обновить originalList, чтобы:
- Если int появляется в newList, оставьте
- Если int не отображается в newList, удалите
- Добавление любых целых из newList в originalList, которых там еще нет
Таким образом - создание содержимого originalList:
{ 1, 5, 7, 11 }
Причина, по которой я спрашиваю, заключается в том, что у меня есть объект с коллекцией детей. Когда пользователь обновляет эту коллекцию, вместо того, чтобы просто удалить все дочерние элементы, а затем вставить их выборки, я думаю, что было бы более эффективно, если бы я просто действовал на добавленных или удаленных дочерних элементах, вместо того, чтобы разрушать всю коллекцию и вставлять newList детей, как будто они все новые.
РЕДАКТИРОВАТЬ - Извините - я написал ужасный заголовок ... Я должен был написать «наименьшее количество кода» вместо «работоспособного». Я думаю, что это отбросило много ответов, которые я получил. Все они великолепны ... спасибо!