そのようなクラスを作成したい:
public TrackMaxMin(int periodInSec)
// use current system time as time
public Add(decimal value)
// return maximum Value for the last periodInSec
public Max { get {} }
// return minimum Value for the last periodInSec
public Min { get {} }
私はFIFOクエリを使用してPair<DateTime, decimal
>を保存できると思いますAdd
。呼び出しごとに次のことを行う必要があります。
- クエリから「古い」値を削除します。必要に応じて、キャッシュされた最大/最小の「更新」を削除する場合
- 新しい価値を追加します。必要に応じて最大/最小を更新
私の解決策は簡単で簡単です。おそらくあなたはもっと良いものを提案することができますか?