using System;
using System.Reactive;
using System.Reactive.Linq;
using System.Reactive.Subjects;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
class Program
{
public static void Main()
{
Run().GetAwaiter().GetResult();
Console.WriteLine("Press any key ...");
Console.ReadKey();
}
private static async Task Run()
{
await Task.Delay(1);
var dst = new Subject<int>();
var res = dst
.SelectMany(async arg =>
{
await Task.Delay(1);
Console.WriteLine(arg);
return Unit.Default;
})
.DefaultIfEmpty();
Observable.Range(0, 10).Subscribe(dst);
await res;
}
}
}
I expect 10 numbers on the output, in reality I get none. Why?