2015-02-20 6 views
-1

У меня есть класс под названием «OrderItem» и список экземпляров класса. Теперь я хочу создать SortedDictionary, что ключ будет одним из свойств класса и значения LinkedList, что все элементы в LinkedList будут иметь одно и то же свойство ключа. Я хочу написать код такой же, как это:Создание SortedDictionary со значением 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 
} 

Как я могу это сделать?

+2

Сначала вам нужно проверить, присутствует ли этот элемент в словаре. Если он затем добавит его в существующий список, если нет, то добавьте новую запись. –

ответ

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); 
} 
+0

Большое спасибо! –