我想创建一个介于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#
执行此操作答案 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);