【问题标题】:Best data type for my array/collection我的数组/集合的最佳数据类型
【发布时间】:2013-07-17 10:01:18
【问题描述】:

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

例如

enum Colour {Red, Yellow, Green};

想要存储(和更新):

红色:230

黄色:500

绿色:50

【问题讨论】:

  • 也许Dictionary<Colour,int> ,我认为最好保留key->value :)
  • 只有 3 个值:使用实现最简单的概念。
  • 代替这个,你可以为你的枚举增加价值。例如,您可以将值 230 添加到您的红色枚举项,然后您可以读取它的值。
  • @pooyan 他希望能够编辑它。
  • 我找到了这篇文章,从这里看来 Dictionary 可能是表现最好的一篇:geekswithblogs.net/BlackRabbitCoder/archive/2011/06/16/…

标签: c# arrays collections


【解决方案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

【讨论】:

    【解决方案2】:

    最好的解决办法是使用字典:

    var dictionary = new Dictionary<Colour, int>()
    
    dictionary[Colour.Red] = 230;
    dictionary[Colour.Yellow] = 500;
    dictionary[Colour.Green] = 50;
    

    这样做,每种颜色在集合中最多存在一次。如果您使用CollectionArray,您将能够在集合中多次使用相同的颜色。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-15
      • 2016-01-28
      • 2017-02-01
      • 2010-09-18
      • 1970-01-01
      • 2019-04-13
      • 1970-01-01
      • 2017-01-28
      相关资源
      最近更新 更多