找到第一个免费元素

时间:2014-02-06 00:01:12

标签: c# linq

我正在查找返回列表中不可用的第一个号码的查询

int[] list = new int[] { 1,4,2,5,6,7 };

对于上面的例子,我希望得到结果3。

2 个答案:

答案 0 :(得分:2)

也许是这样的:

int result = Enumerable.Range(1, list.Length)
                       .Where(i => !list.Contains(i))
                       .FirstOrDefault();

如果0包含从1到 n 的所有整数,则会返回list

答案 1 :(得分:1)

var first = Enumerable.Range(1, list.Max()).Except(list).First();