我有一个字符串列表列表,其中包含转换为字符串的DateTime值.列表中还有其他值,因此我无法使列表成为完整的DateTime列表.
我有一行代码对列表进行排序,但它按字符串值排序日期,而不是DateTime值(这就是我想要的).如何修改我的代码以按DateTime正确排序?
//This sorts the parent list by the 2nd column of the child list
List.Sort((a, b) => -1 * a[1].CompareTo(b[1]));
Run Code Online (Sandbox Code Playgroud)
编辑:
样本列表内容:
Value1,2010-06-28 10:30:00.000 Value2,2010-06-27
10:30:00.000 Value2,2010-06-26
10:30:00.000
尝试一下
List.Sort((a,b) => -1 * DateTime.Parse(a[1]).CompareTo(DateTime.Parse(b[1])));
Run Code Online (Sandbox Code Playgroud)
或者如果你有方便的LINQ并且不需要就地排序
var sorted = myList.OrderBy(x => DateTime.Parse(x[1]));
Run Code Online (Sandbox Code Playgroud)