値を検索するために使用する配列があります。最初の 2 つの値を使用して n 行を取得します。たとえば、最初の列に 2 があり、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 つのネストされた配列を作成して、最初の 2 列を t[2][7] のように直接インデックスとして使用できるようにすると、本当に必要な行だけを反復処理できます。それはより速いでしょうか?
テーブル:
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}
};