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