linq - Lambda 查询按日期对列表进行反向排序

标签 linq lambda asp.net-3.5

我有这个功能,它以相反的顺序显示消息列表。

 protected void setupMessages(IList<Message> Messages)
 {
     List<Message> messages = new List<Message>() ;
     messages.AddRange( Messages.OrderBy(message => message.DateAdded).Reverse());
     MessagesRepeater.DataSource = messages;
     MessagesRepeater.DataBind();
 }

我想知道是否有一种方法可以在不调用反转方法的情况下反转 lambda 查询中的顺序?或者调用 Reverse() 是唯一的方法吗?

最佳答案

您只想使用 OrderByDescending扩展方法,与 OrderBy 相对。

事实上,这将是一种更有效的方法,因为它只需要对集合进行一次迭代而不是两次迭代。

messages.AddRange(Messages.OrderByDescending(message => message.DateAdded));

关于linq - Lambda 查询按日期对列表进行反向排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1307767/

相关文章:

c#-3.0 - ASP.NET 成员资格保持身份验证问题

c# - 短路 linq 查询抛出 null 错误

python - AWS Lambda 函数状态 (zappa)

java - 如何获取 Java 8 方法引用的 MethodInfo?

java - VSCode 和 WSL2 - 将 Java 语言级别指定为 1.8

c# - 比较 'mobile numbers' - 和/或国际格式

asp.net-mvc - 在 ASP.NET 表单中发布 HTML

asp.net-mvc - 将本地列表操作与 linq to entities 数据库操作混合

c# - 按连续元素相等分组集合

c# - LINQ InvalidCastException 错误