LINQ に奇妙な問題があります。
合計 8 列のうち、4 列で並べ替える必要があるテーブルがあります。このテーブルの行は時系列です (DateTime 順)。
テーブルの8つの列がA、B、C、D、E、F、G、Hであるとしましょう
F、E、D、B の順にテーブルが必要です
F=>文字列
E=>文字列
D=>文字列
B=>日時
私は次のLINQを書きました-
List<Rows> OrderedListOfRows = listOfRows.OrderBy(i => i.F).ThenBy(i=>i.E).ThenBy(i=>i.D).ThenBy(i=>i.B);
このシーケンスに対して操作を実行し、必要な結果を得ています。ただし、バグに気付きました。
Dのサンプル入力行が「input1」、「input2」、「input3」.....「input10」、「input11」の場合
orderby 関数は、エントリを次のように並べ替えます: "input1"、"input10"、"input11"、"input2"、"input3"... D は文字列であるためです。
ただし、元の順序を維持したい (「input10」、「input11」などがない場合は問題ありません....
どうすればこれを達成できますか?
前もって感謝します
PS私は問題を説明するために最善を尽くしました。他に何かあれば、コメントを残してください。
編集:この問題を解決しました。新しいリストとその列の古いリストを結合して、順序が保持されるようにします。これは、提案された「重複する」質問のいずれにも投稿されていません。