使用另一个列表更新一个列表所需的代码量是多少?

Evi*_*Syn 2 c# generics merge generic-list

假设我有一个列表:

IList<int> originalList = new List<int>();
originalList.add(1);
originalList.add(5);
originalList.add(10);
Run Code Online (Sandbox Code Playgroud)

另一个清单......

IList<int> newList = new List<int>();
newList.add(1);
newList.add(5);
newList.add(7);  
newList.add(11);
Run Code Online (Sandbox Code Playgroud)

如何更新originalList以便:

  1. 如果int出现在newList中,请保持
  2. 如果int没有出现在newList中,请删除
  3. 将newList中的任何整数添加到原来的列表中

这样 - 制作originalList的内容:

{ 1, 5, 7, 11 }
Run Code Online (Sandbox Code Playgroud)

我问的原因是因为我有一个带有孩子集合的对象.当用户更新此集合时,而不是仅删除所有子项,然后插入他们的选择,我认为如果我只是对添加或删除的子项执行操作,而不是拆除整个集合,并插入newList孩子们好像都是新手.

编辑 - 抱歉 - 我写了一个可怕的标题......我应该写'最少量的代码'而不是'有效'.我认为我已经把很多答案扔掉了.他们都很棒......谢谢!

Jam*_*ran 5

originalList = newList;
Run Code Online (Sandbox Code Playgroud)

或者,如果您希望它们是不同的列表:

originalList = new List<int>(newList);
Run Code Online (Sandbox Code Playgroud)

但是,无论哪种方式做你想要的.根据您的规则,更新后,originalList将与newList相同.

更新:我感谢大家对这个答案的支持,但在仔细阅读了这个问题之后,我相信我的另一个答案(下面)是正确答案.