Список дополнений к подсписку - PullRequest
1 голос
/ 13 октября 2010
listSuper
listSub_A
listSub_B

Существуют ли методы расширения, которые заменяют следующий фрагмент кода?

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

Короче я хочу заполнить listSub_B элементами в listSuper, которых нет в listSub_A.

Ответы [ 2 ]

5 голосов
/ 13 октября 2010
listSub_B.AddRange(listSuper.Except(listSub_A));
1 голос
/ 13 октября 2010

Почему бы не иметь свойство, а не метод расширения, поскольку вам не нужно обновлять listSub_B при изменении listSub_A?

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