0

10 進数のストリームがあり、特定のパターンを検出して、値のない信号を送信する必要があります。したがって、SelectMany を記述する必要があると思いますが、これについてどうすればよいかわかりません。パターンを検出するには、最後のいくつかの数値の状態を保持する必要があります。これについてどうすればよいですか?

4

2 に答える 2

2

チェックするアイテムの数を指定して Window を使用してから、入力と比較する where 句を使用してみてください。ここで見られる問題は、次のシーケンス (12345) に 3 のウィンドウがあり、234 をチェックしている場合、フィルターは 234 をキャッチしますが、123 と 345 を通過するため、完全なリストが得られます。一致する値は除外されません。したがって、window オプションはパターンの検出には機能しますが、必ずしもストリームからパターンを抽出するとは限りません。

于 2013-08-16T15:11:31.253 に答える
1

スライディング ウィンドウでバッファを使用します。たとえば、5 のスライディング ウィンドウ

source.Buffer(5,1).Where(p=>MatchPattern(p)).Select(p=>Unit.Default)

どこ

bool MatchPattern(List<T> t){
    // Some code to return true or false if pattern is met
}

Unitを意味するタイプです。no value

于 2013-08-19T20:21:58.660 に答える