Linq 如何使用GetEnumerator()
GetEnumerator在linq中的用途是什么 有谁能用一个基本的例子向我解释一下它是如何工作的 提前感谢。返回可用于遍历集合的对象 假设您有以下数字列表:Linq 如何使用GetEnumerator(),linq,Linq,GetEnumerator在linq中的用途是什么 有谁能用一个基本的例子向我解释一下它是如何工作的 提前感谢。返回可用于遍历集合的对象 假设您有以下数字列表: var numbers = new List<Int32>() {1, 2, 3, 4, 5}; 此代码来自Jon Skeet,我强烈推荐 在本例中,枚举数用于同时迭代两个集合,从而生成单个集合 通常,如果您想一步一步地迭代一个集合以应用某些逻辑,并且不想首先使用整个集合,则可能需要使用枚举器,因为集合可能正在使用。在提出
var numbers = new List<Int32>() {1, 2, 3, 4, 5};
此代码来自Jon Skeet,我强烈推荐
在本例中,枚举数用于同时迭代两个集合,从而生成单个集合
通常,如果您想一步一步地迭代一个集合以应用某些逻辑,并且不想首先使用整个集合,则可能需要使用枚举器,因为集合可能正在使用。在提出此问题之前,您是否尝试阅读一些文档?
IEnumerable<string> GetEvenStrings(IEnumerable<Int32> source)
{
using (var enumerator = source.GetEnumerator())
while (enumerator.MoveNext())
if (enumerator.Current % 2 == 0)
yield return enumerator.Current.ToString();
}
private static IEnumerable<TResult> ZipImpl<TFirst, TSecond, TResult>(
IEnumerable<TFirst> first,
IEnumerable<TSecond> second,
Func<TFirst, TSecond, TResult> resultSelector)
{
using (IEnumerator<TFirst> iterator1 = first.GetEnumerator())
using (IEnumerator<TSecond> iterator2 = second.GetEnumerator())
{
while (iterator1.MoveNext() && iterator2.MoveNext())
{
yield return resultSelector(iterator1.Current, iterator2.Current);
}
}
}