我有一个Match对象的列表:
IEnumerable<Match> matches
比赛看起来像这样
public class Match
{
[JsonProperty("_id")]
public string Id { get; set; }
[JsonProperty("last_activity_date")]
public string LastActivityDate { get; set; }
[JsonProperty("messages")]
public MatchMessage[] Messages { get; set; }
}
我的MatchMessage类如下所示:
public class MatchMessage
{
[JsonProperty("_id")]
public string Id { get; set; }
[JsonProperty("message")]
public string Message { get; set; }
[JsonProperty("sent_date")]
public string SentDate { get; set; }
}
现在,我想通过MatchMessage中的SentDate属性对我的匹配项列表进行排序,因此很难解决这个问题。
我试过了:
var newList = matchList.OrderBy(match => match.Messages.OrderBy(x => x.SentDate));
但是当我这样做的时候我得到一个错误。我已经搜寻了一段时间,找不到解决方案。我该怎么做呢?
这将按照matchList
每个比赛的最新消息的升序排列。
var newList = matchList.OrderBy(
match =>
match.Messages.Any()
? match.Messages.Max(x => DateTime.Parse(x.SentDate))
: DateTime.MaxValue);
注意:给定的SentDate是正确的DateTime格式。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句