我有这个功能,它以相反的顺序显示消息列表。
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/