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);
}
}
しかし今、以前の値も取得する必要がありますが、ここで何をすべきかわかりません。