Linq.TakeWhile - Dmitry-Bychenko/Amphisbaena GitHub Wiki
Takes items in ChannelReader while condition meets.
public static ChannelReader<T> TakeWhile<T>(this ChannelReader<T> reader,
Func<T, bool> condition,
ChannelParallelOptions options)using Amphisbaena;
using Amphisbaena.Linq;
...
int[] data = new int[] {1, 2, 3, 4, 5, 6, 7, 8, 9};
int sum = await data
.ToChannelReader()
.TakeWhile(item => item <= 4)
.Aggregate((s, a) => s + a);