如何在没有迭代的情况下获取IEnumerable的第一个元素?

时间:2018-02-28 05:42:05

标签: c# iterator ienumerable

我需要获取IEnumerable的第一个元素,但没有迭代。我使用了First(),但它会导致一些错误,因为它会迭代。我知道我可以用枚举来做,但我怎么能这样做?

2 个答案:

答案 0 :(得分:1)

<div class="hover-container"> this is the hover container <div class="hover-me">hover me</div> </div> <div class="affected"> affected </div>就是名字所说的,可枚举的东西。它提供的唯一方法是IEnumerable<T>。每个扩展方法都会在某种程度上枚举IEnumerator<T> GetEnumerator()

如果延迟评估/多次枚举有问题(我已经对数据库中的结果集进行了评估,已经在处理完连接后对其进行了评估,请参阅here),请考虑枚举一次,例如:将IEnumerable<T>转换为IEnumerable<T> List<T>

备注:如果枚举可枚举导致错误,则您的设计存在缺陷。考虑使用其他界面。

答案 1 :(得分:-1)

您可以尝试使用FirstOrDefault.it代表第一个元素

int[] numbers = { };
int first = numbers.FirstOrDefault();
Console.WriteLine(first);