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