2D データ要素の大きな配列がいくつかあります。A と B は同じサイズの寸法ではありません。
A) は 5 から 20 の間です
B) は 1000 から 100000 の間です
初期化時間は、リアルタイム アプリケーションのルックアップ テーブルになるだけなので問題ありません。そのため、値 A と B を知ることによる要素のインデックス作成のパフォーマンスは非常に重要です。現在格納されているデータは、1 バイト値です。
私はこれらの解決策について考えていました:
byte[A][B] datalist1a;
また
byte[B][A] datalist2a;
また
byte[A,B] datalist1b;
また
byte[B,A] datalist2b;
または、固定サイズを知っているので多次元を失い、調べる前に値を掛けるだけです。
byte[A*Bmax + B] datalist3;
また
byte[B*Amax + A] datalist4;
私が必要としているのは、このセットアップがあるときに C# で最も効率的なルックアップに使用するデータ型/配列構造を知ることです。
編集 1 最初の 2 つのソリューションは、マルチ配列ではなく、多次元であると想定されていました。
編集 2 最小次元のすべてのデータは各ルックアップで読み取られますが、大きな次元は一度に 1 回だけインデックス付けに使用されます。
つまり、サンプル B からすべての A を取得します。