使用LinkedList值创建SortedDictionary

时间:2015-02-20 18:45:20

标签: c# sorteddictionary

我有一个名为“OrderItem”的类和一个类的实例列表。 现在我想创建一个SortedDictionary,键是LinkedList的类属性和值之一,LinkedList中的所有项都具有相同的键属性。 我想写一个与此相同的代码:

SortedDictionary<Double, LinkedList<OrderItem>> UnitPriceIndex;
foreach (OrderItem item in Data) // Data = list with all the instances of " OrderItem "
{ 
    UnitPriceIndex.Add(item.UnitPrice, LinkedList.add(item) // all items in the list will have the same UnitPrice
}

我该怎么做?

1 个答案:

答案 0 :(得分:1)

您需要先确保密钥存在。如果没有,则创建它并将新列表指定为值。

然后您可以将当前项添加到LinkedList。例如:

var UnitPriceIndex = new SortedDictionary<double, LinkedList<OrderItem>>();

foreach (OrderItem item in Data)
{
    // Make sure the key exists. If it doesn't, add it 
    // along with a new LinkedList<OrderItem> as the value
    if (!UnitPriceIndex.ContainsKey(item.UnitPrice))
    {
        UnitPriceIndex.Add(item.UnitPrice, new LinkedList<OrderItem>());
    }

    UnitPriceIndex[item.UnitPrice].AddLast(item);
}