【问题标题】:What is the best .NET type for collections where each key can have multiple values?对于每个键可以有多个值的集合,最好的 .NET 类型是什么?
【发布时间】:2010-03-19 15:38:27
【问题描述】:

我有一个键,但该键的值不同。我尝试过 HashTable,但我认为这不是正确的做法。

我会详细解释要求是什么:

我有一个键 - “Asp.net” - 为此我有 n 个值 - 61、67、100

所以我必须将它存储在字典或哈希表之类的地方。

【问题讨论】:

  • 我使您的标题与您正在寻找的内容相匹配,以便在首页阅读的人知道您想要什么。
  • 我也是……显然,就在你之后,@BillyONeal。如果你的比我的好,请随时再次更新。

标签: c#


【解决方案1】:

Dictionary<string, List<int>> 可以为您的示例数据解决问题。

【讨论】:

    【解决方案2】:

    你可以使用Dictionary<string, List<int>>:

    var dictionary = new Dictionary<string, List<int>>();
    dictionary.Add("asp.net", new List<int>());
    dictionary["asp.net"].Add(61);
    dictionary["asp.net"].Add(67);
    dictionary["asp.net"].Add(100);
    

    【讨论】:

      【解决方案3】:

      我认为您需要 PowerCollections MultiDictionary。

      http://www.codeplex.com/PowerCollections

      【讨论】:

      • 仅供参考:这是该数据结构的两个“正确”(如:最广泛使用的)名称之一,以防万一您需要为另一种语言/平台搜索一个。另一个是MultiMap
      【解决方案4】:

      如果您的键和值都是字符串,您可能需要使用NameValueCollection

      NameValueCollection 类在单个键下存储多个字符串值。根据 MSDN,该类可用于标题、查询字符串和表单数据。

      【讨论】:

        猜你喜欢
        • 2017-04-20
        • 2014-07-26
        • 2011-01-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-07-27
        • 2017-02-22
        • 1970-01-01
        相关资源
        最近更新 更多