0

我有以下要排序的字符串(字符串格式:121030-1833 --> YYDDMM-HHMM)

字符串示例:

121030-1833
120823-2034
120807-2014
120627-2316
120525-1136
111226-1844

我想将它们从最新格式排序到旧格式。

哪种排序方法最适合在这里使用?

更新的问题陈述

字典[String,string] "dictLocation" 值,想根据字典的键(键-YYMMDD-HHMM,从最新到最旧)对字典进行排序

{[110901-1226, sandyslocation.110901-1226]}
{[120823-2034, andyslocatio.120823-2034]}
{[110915-1720, mylocation.110915-1720]}
{[121030-1833, mylocation.121030-1833]}

我正在尝试这个 var latestToOldest = dictLocation.OrderBy(key => key.Key)

它没有给我正确的结果,我有什么遗漏吗?

4

2 回答 2

4

碰巧的是,只需按降序对它们进行排序即可:

var latestToOldest = original.OrderByDescending(x => x);

那是假设您想假设所有值都在同一世纪内。(如果您可以更改格式,为了清楚起见,我建议使用 4 位数的年份。)

但是,我建议尽早DateTime将值解析为值。尽可能保持数据最“自然”的形式。从根本上说,这些是日期和时间,而不是字符串——所以尽早将它们转换成那种格式,并尽可能长时间地保持这种格式。

于 2012-10-31T12:06:29.623 回答
1
var sortedDateStrings = dateStrings.Sort().Reverse();
// or
var sortedDateStrings = dateStrings.OrderByDescending(x => x);
于 2012-10-31T12:07:42.260 回答