0

我目前正在使用以下代码对字典进行排序:

Dictionary<string, TKosStock> NewList = null;
if (SortBy.CompareTo(TSortOptions.sortASC | TSortOptions.sortPRICE) == 0)
   NewList = new Dictionary<string, StockObj>(this.StockItemList.OrderBy(n => n.Value.SellPriceRangeLowGross).ToDictionary(n => n.Key, n => n.Value));

this.StockItemList = new Dictionary<string, TKosStock>(NewList.ToDictionary(n => n.Key, n => n.Value));

这很好用,并且可以正确地重新排列我的列表。然后,我可以循环this.StockItemList了解我的值的顺序是否正确。

我想做的是首先以正确的顺序添加项目。我无法根据 SQL 查询执行此操作,因为在 SQL 查询最初运行时未计算价格。

ps 我认为这种重新洗牌的开销很低,但如果可以在最初添加项目时完成,那么我认为开销会更低。

这可能吗?

4

1 回答 1

1

也许使用有序字典(非通用):

http://msdn.microsoft.com/en-us/library/system.collections.specialized.ordereddictionary.aspx

于 2012-09-07T10:08:04.617 回答