Hi,
I have an array that i use to lookup values. I use the first 2 values to get n rows. for example all rows that have 2 in the first column and 7 in the second. What is the fastest (i mean micro-optimized) way to get these values? I now use a for loop to get the values:
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
}
}
Edit: It only has some 60 rows. What if i make 3 nested arrays so i could use the first 2 columns as an index directly like t[2][7] and then i would only iterate over the rows i really need. would that be faster?
the table:
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}
};