我有一个父列表,其中包含多个相同类型的子列表,并且我需要在父列表中的每个列表上处理一个OrderByDescending
函数。我知道这很令人困惑,因此请继续:
public class Message
{
DateTime dateTime;
int id;
}
List<Message> listOfMessages; //Contains a list of Messages
还有另一个名为“ ConversationList”的列表,其中包含多个“ listOfMessages”列表。
这是我尝试过的:
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
列表。我需要
OrderByDescending
每个列表。堂,你们有什么建议? 最佳答案
您自己给出了答案,您必须遍历每个列表并排序
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();