我有一个父列表,其中包含多个相同类型的子列表,我需要在父列表中的每个列表上处理OrderByDescending
函数。我知道这很令人困惑,所以你去吧:
public class Message
{
DateTime dateTime;
int id;
}
List<Message> listOfMessages; //Contains a list of Messages
还有一个名为&#39; ConversationList&#39;其中包含多个“listOfMessages”&#39;列表。
这是我尝试的内容:
var newList = listOfMessages.OrderByDescending(x => x.dateTime).ToList();
//This would return a list of messages that are ordered by datetime
//However listOfMessages is ONE item from ConversationList
//Therefore I need to do OrderByDescending on each 'listOfMessages' in the ConversationList
listOfMessages
包含Message
类型的对象,而ConversationList
包含多个listOfMessages
LISTS。
我需要OrderByDescending
每个列表。 Dang,你的建议是什么?
答案 0 :(得分:3)
你自己给出了答案,你必须遍历每个列表并订购它
for(int i = 0; i < ConversationList.Count; i++)
{
var listOfMessages = ConversationList[i];
ConversationList[i] = listOfMessages.OrderByDescending(x => x.dateTime).ToList();
}
使用Linq,解决方案可能如下所示
ConversationList = ConversationList.Select(listOfMessages => listOfMessages.OrderByDescending(x => x.dateTime).ToList()).ToList();