Linq.TakeWhile - Dmitry-Bychenko/Amphisbaena GitHub Wiki

TakeWhile

Takes items in ChannelReader while condition meets.

Declaration (has overloads)

public static ChannelReader<T> TakeWhile<T>(this ChannelReader<T> reader,
                                                 Func<T, bool> condition,
                                                 ChannelParallelOptions options)

Example

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);
⚠️ **GitHub.com Fallback** ⚠️