如何使用Key和Value对SortedDictionary进行排序?

时间:2013-12-15 17:07:17

标签: c# collections

我有一个SortedDictionary,其中键是对类Store的引用。值为List<Item>

我想在词典中对商店进行排序。 IComparer只能应用于Key

的值

但是为了正确排序需要来自Value(List<Item>)的数据。价格例如。

我该怎么做? 使用SortedDictionary可选,我将接近任何决定。 重要的是,我可以快速获取密钥的值,类似TryGetValue

class Item
{
  int price;
  string name;
}

class Store
{
  string owner;
  string street;
  string city;
}

SortedDictionary<Store, List<Item>>

1 个答案:

答案 0 :(得分:0)

您可以使用LINQ扩展方法对商店列表进行排序,例如OrderByOrderByDescending

Dictionary<Store, List<Item>> stores;
...
var result = stores.OrderBy(pair => pair.Value.Min(item => item.price));