データを圧縮形式 (本質的にはミニ DSL) で保存およびクエリするのに役立つライブラリが必要です。ここに、必要なもののサンプルを示します。
更新 1 - 上記のサンプルの数値は、ロジックを簡単に理解できるようにするために小さくされていることに注意してください。実際の数値はc# long
型の容量によって制限されています。例:
1,18,28,29,39,18456789,18456790,18456792,184567896
.
サンプル生データセット:1,2,3,8,11,12,13,14
凝縮されたサンプル データ セット:
1..3,8,11..14
持っていると絶対にいいのは、1,2,4,5,6,7,8,9,10
として提示できること1..10-3
です。
サンプル データ セットのクエリ:
クエリ 1 (範囲を取得):
1..5
->1..3
クエリ 2 (値が存在するかどうかを確認)
?2
->true
クエリ 3 (複数の範囲とスカラー値を取得):
1..5,11..12,14
->1..3,11..12,14
私はそれをゼロから開発したくはなく、既存のものを使用することを強く望んでいます。