我有一个用于查找值的数组。我使用前 2 个值来获取 n 行。例如,所有行在第一列有 2,在第二列有 7。 获得这些值的最快(我的意思是微优化)方法是什么? 我现在使用 for 循环来获取值:
int l = SpreadLookupTable.GetLength(0);
for (int iCombo = 0; iCombo < l; iCombo++) {
bool o = SpreadLookupTable[iCombo, 0] == perWeek
&& SpreadLookupTable[iCombo, 1] == workDays;
if (o) {
// do stuff
}
}
编辑: 它只有大约 60 行。如果我创建 3 个嵌套数组,那么我可以像 t[2][7] 一样直接使用前 2 列作为索引,然后我只会遍历我真正需要的行。那会更快吗?
桌子:
private static int[,] SpreadLookupTable = {
{2, 7, 1, 0, 0, 1, 0, 0, 0},
{2, 7, 1, 0, 0, 0, 1, 0, 0},
{2, 7, 0, 1, 0, 0, 1, 0, 0},
...
{2, 3, 1, 1, 0, 0, 0, 0, 0},
{2, 3, 1, 0, 1, 0, 0, 0, 0},
{2, 3, 0, 1, 1, 0, 0, 0, 0}
};