子列表的补充列表

时间:2010-10-13 12:22:43

标签: c# generics list extension-methods

listSuper
listSub_A
listSub_B

是否有任何扩展方法可以替换以下代码?

 foreach(int a in listSuper)
 {
 if (!listSub_A.Contains(a))
 {
 listSub_B.Add(a);
 }
 }

简而言之,我想用listSuper中的元素填充listSub_B,这些元素不在listSub_A中。

2 个答案:

答案 0 :(得分:5)

listSub_B.AddRange(listSuper.Except(listSub_A));

答案 1 :(得分:1)

为什么没有属性而不是扩展方法,因为如果listSub_A发生变化,你不需要更新listSub_B?

public ...  listSub_B
{
  get{return listSuper.Except(listSub_A);}
}