我目前正在使用以下代码对字典进行排序:
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 我认为这种重新洗牌的开销很低,但如果可以在最初添加项目时完成,那么我认为开销会更低。
这可能吗?