【问题标题】:Hashtable with different values for single key单个键具有不同值的哈希表
【发布时间】:2012-06-01 07:31:37
【问题描述】:

如果我对同一个键有多个值,那么如何将它添加到哈希表中 例如:

                   Hashtable hs = new Hashtable();
                      hs["id"]= "x001.xhtml";
                      hs["media-type"]= "application/xhtm+xml"; 
                      hs["href"]= "text/001.xhtml";

                      hs["id"]= "x002.xhtml";
                      hs["media-type"]= "application/xhtm+xml";
                      hs["href"]= "text/002.xhtml";

                     hs["id"]= "x003.xhtml";
                     hs["media-type"]= "application/xhtm+xml";
                     hs["href"]= "text/003.xhtml";

这只是哈希表中的最后一组,即

                     hs["id"]= "x003.xhtml";
                     hs["media-type"]= "application/xhtm+xml";
                     hs["href"]= "text/003.xhtml";

如何解决这个问题....提前谢谢!!

【问题讨论】:

  • 看起来你想要一个对象列表或字典给我

标签: c# mono ios-simulator hashtable monodevelop


【解决方案1】:

散列表定义为具有唯一键,索引器替换现有值。听起来您实际上想要一个对象列表,即

var list = new List<YourType> {
    new YourType { Id = "x001.xhtml", MediaType = "...", Href = "..." },
    new YourType { Id = "x002.xhtml", MediaType = "...", Href = "..." },
    new YourType { Id = "x003.xhtml", MediaType = "...", Href = "..." }
};

public class YourType {
    public string Id {get;set;}
    public string MediaType {get;set;}
    public string Href {get;set;}
}

(或类似的)

【讨论】:

  • 在我还在打字的时候看到你想出一个完整的答案并收集投票,​​真是令人沮丧。至少 +​​1。
  • @skolima 我会努力打字慢一点。对不起。
  • 查看问题显示的数据类型 Dictionary 可能是最好的
  • @Ian 好吧,也许 - 但问题中没有任何内容可以通过(比如)id 键入 all 数据。但如果它需要通过id 查找,那么是的,字典会很好用。
  • @SamuelRossille 这不是问题;任何有助于 OP 的东西都是好的
【解决方案2】:

解决您的问题

您没有为您的模型使用正确的类。 你需要的是List&lt;Hashtable&gt;

改进您的代码

还可以考虑为您在HashTable 中存储的内容编写一个类。

最好使用List&lt;YourMedia&gt;

那么您的代码将如下所示:

List<Media> medias = new List<Media>();
media.add(new Media("x001.xhtml", "application/xhtm+xml", "text/001.xhtml")
[...]

【讨论】:

    猜你喜欢
    • 2011-06-01
    • 2019-05-03
    • 2018-11-13
    • 2011-10-04
    • 2014-09-14
    • 1970-01-01
    • 2015-07-26
    • 1970-01-01
    • 2011-06-09
    相关资源
    最近更新 更多