Linq.DefaultIfEmpty - Dmitry-Bychenko/Amphisbaena GitHub Wiki

DefaultIfEmpty

If origin ChannelReader is empty (has no items) returns ChannelReader with a single default item; otherwise do nothing.

Declaration (has overloads)

public static ChannelReader<T> DefaultIfEmpty<T>(this ChannelReader<T> reader,
                                                      T defaultValue,
                                                      ChannelParallelOptions options)

Example

using Amphisbaena;
using Amphisbaena.Linq;

...

int[] data = new int[] {};

var notEmpty = await data
  .ToChannelReader()
  .DefaultIfEmpty(123);