[英]sorting months and years in a c# list
我有一個字符串列表,其中每個字符串都是月份和年份
List<string> Dates = new List<string>
{
"DEC16",
"SEP16",
"JUN16",
"MAR15"
};
像這樣訂購的任何方式
"MAR15",
"JUN16",
"SEP16",
"DEC16"
您可以:
List<string> Dates = new List<string> {
"DEC16",
"SEP16",
"JUN16",
"MAR15"
};
Dates.Sort((p, q) =>
DateTime.ParseExact(p, "MMMyy", CultureInfo.InvariantCulture).CompareTo(
DateTime.ParseExact(q, "MMMyy", CultureInfo.InvariantCulture)));
這是因為使用DateTime.ParseExact
實際上可以解析這些日期(它們將轉換為1 December 2016 00:00
,依此類推)
請注意,月份必須為1月,2月,3月,4月,5月,6月,7月,8月,9月,10月,11月,12月(大寫或小寫)
var sortedMonths = Dates
.Select(x => new {
Name = x,
Sort = DateTime.ParseExact(x, "MMMyy", CultureInfo.InvariantCulture)
})
.OrderBy(x => x.Sort)
.Select(x => x.Name)
.ToArray();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.