我的数组/集合的最佳数据类型

时间:2013-07-17 10:01:18

标签: c# arrays collections

我想在集合或数组中存储枚举值和数字,并能够更新特定值。关于最佳方法的任何建议,考虑到性能影响?

E.g。

enum Colour {Red, Yellow, Green};

想存储(和更新):

红色:230

黄色:500

格林:50

2 个答案:

答案 0 :(得分:1)

您可以使用Dictionary<Colour, int>

Dictionary<Colour, int> dict = new Dictionary<Colour, int>();
dict[Colour.Red] = 230;
dict[Colour.Yellow] = 500;
dict[Colour.Green] = 50;
Console.WriteLine(dict[Colour.Red]) //outputs 230

答案 1 :(得分:1)

最好的解决方案是使用字典:

var dictionary = new Dictionary<Colour, int>()

dictionary[Colour.Red] = 230;
dictionary[Colour.Yellow] = 500;
dictionary[Colour.Green] = 50;

这样做,每个颜色在集合中最多存在一次。如果您使用的是CollectionArray,则您可以在集合中多次使用相同的颜色。