私は現在、辞書を並べ替えるために次のコードを使用しています。
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この再シャッフルのオーバーヘッドは低いと思いますが、最初にアイテムを追加するときにそれを実行できる場合は、オーバーヘッドがさらに低くなると思います。
これは可能ですか?