C#でルックアップテーブルを実行する最も効率的な方法は何ですか?
ルックアップテーブルがあります。みたいな
0 "Thing 1"
1 "Thing 2"
2 "Reserved"
3 "Reserved"
4 "Reserved"
5 "Not a Thing"
したがって、誰かが「Thing 1」または「Thing 2」を必要とする場合、0 または 1 を渡します。しかし、他の何かを渡す場合もあります。私はこれらのタイプのものを256個持っており、おそらく200個は予約されています。
では、これを設定する最も効率的な方法は何ですか?
- すべての値を取得する文字列配列または辞書変数。そして、整数を取り、その場所の値を返します。
このソリューションで私が抱えている問題の 1 つは、すべての「予約済み」値です。これらの冗長な「予約済み」値を作成したくありません。または、「予約済み」のさまざまな場所のすべてに対してifステートメントを作成できますが、それらは現在2〜3、2〜3、40〜55、およびバイト内のすべての異なる場所である可能性があります。このifステートメントは手に負えないほど速くなります
- 私が考えていた他のオプションは、switch ステートメントでした。そして、50 個の既知の値をすべて取得し、フォールスルーして、予約済みの値をデフォルトに設定します。
これは、文字列配列または辞書を作成して適切な値を返すよりもはるかに多くの処理であるかどうか疑問に思っています。
- 他の何か?他に検討する方法はありますか?