我确实要做的是确定IEnumerable
中是否只有一个元素,然后对此采取行动。我可以执行.Count()
并对结果进行比较,但效率非常低。
是否有更有效的方式询问IEnumerable
其中包含的项目数是否达到某个阈值而不使用.Count()
?
答案 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
}