【发布时间】:2012-02-23 23:05:57
【问题描述】:
我有这段代码可以使用 LINQ 命名空间获取下一个值。
public static class Extension
{
public static T Next<T>(this IEnumerable<T> source, Func<T, bool> predicate)
{
bool flag = false;
using (var enumerator = source.GetEnumerator())
{
while (enumerator.MoveNext())
{
if (flag) return enumerator.Current;
if(predicate(enumerator.Current))
{
flag = true;
}
}
}
return default(T);
}
}
但是现在,我还需要获取之前的值,但是我这里我不知道该怎么做。
【问题讨论】:
标签: linq ienumerable linq-to-objects ienumerator