Core.Merge - Dmitry-Bychenko/Amphisbaena GitHub Wiki

Merge

Merges several readers into one.

Declaration (has overloads)

public static ChannelReader<T> Merge<T>(this IEnumerable<ChannelReader<T>> readers,
                                             ChannelParallelOptions options)

Example

using Amphisbaena;
using Amphisbaena.Linq;

...

int[] data = Enumerable
  .Range(1, 120)
  .ToArray();
            
var channels = data
  .ToChannelReader()
  .Split(new ChannelParallelOptions());

var next = channels
  .Select(channel => channel.Select(item => LongRunFunction(item)))
  .ToArray();

int result = await next
  .Merge()
  .Aggregate((s, a) => s + a);
⚠️ **GitHub.com Fallback** ⚠️