如何选择不在其他列表中的int?

时间:2012-08-12 13:49:19

标签: c# linq

我有一些List包含介于0到10之间的int值 例如,列表包含值3,8,9,10

现在,我想使用linq创建新列表,其中包含不在第一个列表中的所有值...这意味着新列表将包含值0,1,2,4,5, 6,7

如何用linq做到这一点?

由于

3 个答案:

答案 0 :(得分:7)

var myNums = Enumerable.Range(0, 11).Except(yourList);

它是11而不是10,因为这是您希望生成的数字的数量,并且在0-10中包含11个数字。

答案 1 :(得分:2)

如果新列表必须再由0-10限制,您可以

var myList =  new List<int>{3, 8 ,9, 10};
var resultList = Enumerable.Range(0, 11).Except(myList );

答案 2 :(得分:2)

int[] seq1={3,5,8},seq2={5,7,8};
seq2.Except(seq1);//7