列挙型があるとします。例えば
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
オプションよりも高速になるかということです。多分私はそれをテストすることができます...しかし、私が質問を書いたとき、私は他の人がどう思うか知りたいです.