具有单个键的不同值的哈希表
本文关键字:哈希表 单个键 | 更新日期: 2023-09-27 18:36:03
如果我对同一个键有多个值,那么如何在哈希表中添加它例如:
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";
如何解决这个问题....提前感谢!!
哈希表定义为具有唯一键,索引器替换现有值。听起来你实际上想要一个对象列表,即
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;}
}
(或类似)
解决您的问题
您没有为您的模型使用正确的类。你需要的是一个List<Hashtable>
改进您的代码
还可以考虑为存储在HashTable
中的内容编写一个类。
最好是使用List<YourMedia>
然后,您的代码将如下所示:
List<Media> medias = new List<Media>();
media.add(new Media("x001.xhtml", "application/xhtm+xml", "text/001.xhtml")
[...]