Linq:确定序列中的项目数是否满足条件

时间:2013-06-14 06:57:56

标签: c# linq count

我确实要做的是确定IEnumerable中是否只有一个元素,然后对此采取行动。我可以执行.Count()并对结果进行比较,但效率非常低。

是否有更有效的方式询问IEnumerable其中包含的项目数是否达到某个阈值而不使用.Count()

3 个答案:

答案 0 :(得分:6)

这也可以解决它:

if (seq.Skip(1).Any())
{
    // act on it
}

答案 1 :(得分:4)

MyEnumerable.Take(2).Count() == 1 //to check if it has one element

答案 2 :(得分:1)

ElementAtOrDefault(index)并与null进行比较将有效。

if (seq.ElementAtOrDefault(2) == null) 
{
    // act on it
}