我想要一个Dictionary的功能,但我想为每个键存储多个值。如何在.NET / C#中完成?是否有支持此方案的内置集合?
如果我执行以下操作:
collection.Add("key1", new Order(1));
collection.Add("key1", new Order(2));
collection.Add("key1", new Order(3));
collection.Add("key2", new Order(4));
然后运行以下命令应返回3个订单。
collection["key1"];
答案 0 :(得分:7)
简单:使用Dictionary<string,List<Order>>
答案 1 :(得分:1)
如果每个键的订单数量需要变化,您可以将列表用于此目的。
collection.Add("key1"), new List<order>(){new Order(1), new Order(2)});
答案 2 :(得分:1)
我建议使用适合您词典中的值的列表,集合或词典。
例如,您可以这样做:
Dictionary<string, List<string>>
答案 3 :(得分:1)
你应该以不同的方式思考这个问题。字典可以包含订单列表而不仅仅是一个订单列表,如下所示:
var collection = Dictionary<string,List<Order>>();
collection.Add("key1", new List<Order>(new { new Order(1), new Order(2), new Order(3) });
collection.Add("key2", new Order(4));
答案 4 :(得分:0)
试试这个
Dictionary<string,order[] order> dict = new Dictionary<string,order[] order>();
how to access :
order[] orderArray = dict["key1"];
order order1 = orderArray[1] ;
order order2 = orderArray[2] ;
and goes on...