如果我的术语在这里,我提前道歉,我还是asp.net的新手.
我有这样的模型:
public class Order
{
public int FoodId { get; set; }
public int Amount { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我有一个订单列表,我想为其创建一个副本,每个FoodId 只包含一个元素.所以,如果我有这个:
1, 5
2, 3
1, 2
2, 6
3, 1
Run Code Online (Sandbox Code Playgroud)
我希望得到一个这样的列表:
1, 5
2, 3
3, 1
Run Code Online (Sandbox Code Playgroud)
金额内部对我来说无关紧要,我只想查看第一个列表中存在的所有唯一 FoodId的列表.我更喜欢使用lambda函数,就像这样(显然不是真正的代码):
List<Models.Order> FoodList = new List<Models.Order>(
OrderList.ForEach(o => FoodList.FindAll(if(o.FoodId not in Foodlist) return o))
);
Run Code Online (Sandbox Code Playgroud)
小智 7
您可能应该使用GroupBy方法,如下所示:
OrderList.GroupBy(x => x.FoodId).Select(g => g.First()).ToList();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
67 次 |
| 最近记录: |