我需要保存一组整数范围,然后我可以使用 linq 查询它们,如下所示:
int param = 10;
var matched = from item in items
where param >= item.min && param <= item.max;
一个list of Tuples
或一个Dictionary
或list of KeyValuePairs
或...。哪一个是更好的选择?(我不想创建我的自定义类)。
我需要保存一组整数范围,然后我可以使用 linq 查询它们,如下所示:
int param = 10;
var matched = from item in items
where param >= item.min && param <= item.max;
一个list of Tuples
或一个Dictionary
或list of KeyValuePairs
或...。哪一个是更好的选择?(我不想创建我的自定义类)。
为什么不是简单的二维数组?这将具有最低的内存要求,并且您建议的 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];