使用C#创建缺失数字(整数)列表

时间:2015-04-13 13:29:11

标签: c# linq list

我想创建一个介于1到7000之间的缺失数字列表。

我的列表包含

等数字

1,2,3,4,5,6 ....高达80

100,101,102,103 ....至130

200,201,202,203,204 ......高达250

在这种情况下,我想创建81到99和131到199以及251到7000。

我尝试了以下代码。

var existedNumbers = sections.Select(s => s.Id).ToList();

var list = new List<int>();

 var finalList = list.AddRange(Enumerable.Range(1, 9997).Except(existedNumbers);

如何使用C#

执行此操作

2 个答案:

答案 0 :(得分:2)

您可以使用LINQ轻松找到丢失的数字:

var list = Enumerable.Range(1,80)
    .Concat(Enumerable.Range(100,31))
    .Concat(Enumerable.Range(200,51))
    .ToList();
var missing = Enumerable.Range(1,7000)
    .Except(list)
    .ToList();

答案 1 :(得分:1)

您可以尝试这样

var seq = Enumerable.Range(1, 7000);
var givenSeq = new List<int>() {1,2,3};  //Given seq
var missingseq = seq.Except(givenSeq);