次のサンプルは正常に機能します。
static IEnumerable<int> GenerateNum(int sequenceLength)
{
for(int i = 0; i < sequenceLength; i++)
{
yield return i;
}
}
static void Main(string[] args)
{
//var observ = Observable.Start(() => GenerateNum(1000));
var observ = GenerateNum(1000).ToObservable();
observ.Subscribe(
(x) => Console.WriteLine("test:" + x),
(Exception ex) => Console.WriteLine("Error received from source: {0}.", ex.Message),
() => Console.WriteLine("End of sequence.")
);
Console.ReadKey();
}
ただし、私が本当に望んでいるのは、コメント化された行を使用することです。つまり、「数値ジェネレーター」を非同期で実行し、新しい値が生成されるたびに、コンソールに出力する必要があります。動作しないようです-このコードを動作するように変更するにはどうすればよいですか?