我将以下字符串排序(字符串格式:121030-1833 - > YYDDMM-HHMM)
字符串示例:
121030-1833
120823-2034
120807-2014
120627-2316
120525-1136
111226-1844
我想从最新格式到旧格式对它们进行排序。
哪种排序方法最适合在这里使用?
dictionary [String,string]“dictLocation”值与我,想要根据其键(Key-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)
它没有给我正确的结果,我有什么遗漏吗?
答案 0 :(得分:4)
碰巧,只需按降序排序它们就可以了:
var latestToOldest = original.OrderByDescending(x => x);
假设您想假设所有值都在同一个世纪内。 (如果你可以改变格式,我建议使用4位数的年份来清晰。)
但是,我建议尽早将值解析为DateTime
值 。只要有可能,请将数据保持为最“自然”的形式。从根本上说,这些是日期和时间,而不是字符串 - 所以尽早将它们转换为该格式,并尽可能保持它们的格式。
答案 1 :(得分:1)
var sortedDateStrings = dateStrings.Sort().Reverse();
// or
var sortedDateStrings = dateStrings.OrderByDescending(x => x);