0

整数の範囲のセットを保存して、次のようにlinqを使用してクエリできるようにする必要があります。

int param = 10;
var matched = from item in items 
           where param >= item.min && param <= item.max;

alist of TuplesまたはaDictionaryまたはlist of KeyValuePairsまたは...。どちらがより良い選択ですか?(私のカスタムクラスを作成したくありません)。

4

1 に答える 1

2

単純な2次元配列ではないのはなぜですか?これにより、メモリ要件が最も低くなり、提案したLINQクエリが線形時間で実行されます。

擬似コード:

int param = 10;
// Define min and max array indices for readability.
public const int min = 0;
public const int max = 1;

int[,] myValues = {
    { 1, 50 }, 
    { 2, 3  },
    { 5, 60 }};

var matches = 
    from  item in myValues
    where param <= item[min] && 
          param >= item[max];
于 2012-10-02T14:01:37.010 に答える