哦,我从哪里开始呢...
好的,我有一个列表,我必须根据两个属性将它“切成”更小的列表。当我完成小列表的工作后,我希望它的项目从原始列表中删除 :)
例如,我有一个包含两个值CustomerID和ProductID的List<> CustomerProducts。我从对列表进行排序开始:
类似于...
例如,我有一个包含两个值CustomerID和ProductID的List<> CustomerProducts。我从对列表进行排序开始:
假设排序后的列表现在看起来像这样:
var orderedList = CustomerProducts.OrderBy( c => c.CustomerID).ThenBy( c => c.ProductID)ToList( );
现在,我想要一个新列表,其中仅包含列表中的前两个项目(因为它们具有相同的CustomerID和ProductID),并从orderedList中删除这两个项目,然后继续执行相同的操作... while orderedList不为空。CustomerID = 1, ProductID = 61
CustomerID= 1, ProductID = 61
CustomerID= 1, ProductID = 87
CustomerID= 2, ProductID = 81
CustomerID= 2, ProductID = 53
类似于...
有没有聪明的解决方案? 聪明意味着代码短小而漂亮 :)while(orderedList.Count > 0)
{
//create new list that has the same values...
//do some work on the new list
//remove the new list from the orderedList
//continue...
}