所以我有一个包含对象的列表。这些对象具有属性TimeStamp。问题是,这个属性是一个字符串。现在,当通过TimeStamp对列表进行排序时,sort函数会忽略" AM"和" PM"
var historicalAlarms = new List<IHistoricalAlarmItem>();
foreach(...)
{
...
}
historicalAlarms.Sort((x, y) => ((Belimed.Alarm.HistoricalAlarmItem)x).TimeStamp.CompareTo(((Belimed.Alarm.HistoricalAlarmItem)y).TimeStamp));
是否可以将TimeStamp转换为新的DateTime对象以使Sort函数不忽略AM和PM?请记住,List中的对象也需要转换为另一种类型(不幸的是它们具有相同的名称)
这有效:
historicalAlarms.Sort((x, y) => ((Belimed.Alarm.HistoricalAlarmItem)x).ActivationTime.CompareTo(((Belimed.Alarm.HistoricalAlarmItem)y).ActivationTime));
这不是:
historicalAlarms.OrderBy(x => DateTime.Parse((Belimed.Alarm.HistoricalAlarmItem)x.TimeStamp))
答案 0 :(得分:2)
您可以使用OrderBy
和DateTime.Parse
来实现这一目标。
historicalAlarms = historicalAlarms
.OrderBy(value => DateTime.Parse(value.TimeStamp))
.ToList();