每个键具有多个值的字典

本文关键字:字典 | 更新日期: 2023-09-27 17:57:15

我想要字典的功能,但我想为每个键存储多个值。如何在 .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"];

每个键具有多个值的字典

简单:使用Dictionary<string,List<Order>>

如果每个键的订单数需要可变,则可以为此目的使用列表。

collection.Add("key1"), new List<order>(){new Order(1), new Order(2)});

我建议根据字典中的值使用列表,集或字典。

例如,您可以执行以下操作:

Dictionary<string, List<string>>

你应该用不同的方式来思考这个问题。 字典可以保存订单列表,而不仅仅是单个订单,如下所示:

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));

试试这个

    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...