列挙型があるとします。例えば
enum MyEnum
{
Item1,
Item2,
Item3
}
列挙型の各項目に対して何かを「キャッシュ」したい。だから私には2つの選択肢があります。
辞書オプション:
Dictionary<MyEnum, /*someStructure*/> cache = new Dictionary<MyEnum, /*someStructure*/>>();
または配列オプション:
/*someStructure*/[] cache = new /*someStructure*/[Enum.GetValues(typeof(MyEnum)).Length]
これらの各オプションの長所と短所は何ですか? 私の意見では、Dictionaryオプションは読みやすく使いやすいですが、Arrayオプションよりも遅いです。
しかし、Dictionary実際には遅くなるでしょうか?がキーとして使用される場合、「配列」だけを基になる実装として使用できることDictionaryを理解するのに十分なほど「スマート」でしょうか?enum
問題は、「醜いarrayオプション」は「単純な」Dictionaryオプションよりも高速になるかということです。多分私はそれをテストすることができます...しかし、私が質問を書いたとき、私は他の人がどう思うか知りたいです.