我对 LINQ 有一个奇怪的问题。
我有一个需要按 4 列排序的表……总共 8 列。此表中的行是按时间顺序排列的(按日期时间排序)。
假设表中的 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我已经尽力解释这个问题。如果还有什么,请给我留言。
编辑:我解决了这个问题。我将新列表与该列上的旧列表一起加入,以便保留我的订单。这未在任何建议的“重复”问题中发布。