我有一个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>>
答案 0 :(得分:0)
您可以使用LINQ扩展方法对商店列表进行排序,例如OrderBy
或OrderByDescending
:
Dictionary<Store, List<Item>> stores;
...
var result = stores.OrderBy(pair => pair.Value.Min(item => item.price));