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;
}
}
}
私は出力に10の数字を期待しますが、実際には何も得られません。どうして?以下の簡単なRx.NETで数字が表示されないのはなぜですか?
これはほとんどRxの「些細な」使用ではありません。 – Enigmativity
+1知りたいことやできることは何ですか? IMOのほとんどのRxソリューションはSubjectの使用を伴わないが、Rxの問題はたくさんある。 –
私はこのコードがなぜ機能しないのか理解したい - それだけです。 – mark