0

我需要保存一组整数范围,然后我可以使用 linq 查询它们,如下所示:

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

一个list of Tuples或一个Dictionarylist of KeyValuePairs或...。哪一个是更好的选择?(我不想创建我的自定义类)。

4

1 回答 1

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 回答