1
私はRxフレームワークの新人です。反応フレームワークを使って "A"と "B"の文字列の入力シーケンスを認識するコンソールアプリケーションを作る助けがありたいと思います。反応フレームワークを使ったシーケンス認識
私のコードは、最初の入力シーケンス(ソース)と派生シーケンスを示しています。 "A"と "B"のシーケンスは正しく認識されますが、 "A"と "B"の間に他の文字列がある場合、認識しません。
exmple "A" "C" "B"は有効なシーケンスではありません
ありがとうございます。
static void Main(string[] args)
{
var subj = new Subject<string>();
var source = subj.AsObservable();
source.Subscribe(Console.WriteLine);
var derived = from first in source.Where(x => x == "A")
from second in source.Where(x => x == "B")
select new[] { first, second };
derived.Subscribe(x => Console.WriteLine("Derived: " + x[0] + " " +x[1]));
subj.OnNext("A");
subj.OnNext("B");
subj.OnNext("C");
subj.OnNext("D");
subj.OnNext("E");
subj.OnNext("F");
Console.ReadLine();
}
あなたは最後の二つの観測値をバッファリングし、バッファが含まれていることを確認したいようですが、「聞こえますA "と" B "の順番で?もしそうなら、Buffer()演算子を見ましたか? –
申し訳ありませんが... thanxs ..ですので、私はSequenceEqualのようなものを使って比較する必要がありますか?ありがとう – user322416
とにかく私はそれを試みましたが、実際には新しい値ごとに最後の2つの観測値のリストを持つ必要があります。今、私は2つずつ持っています。 – user322416