我需要一种方法来减少列表或计算“总计”。我有一堂课,让我们称之为产品。 Prod包含4个值。一个是产品的名称,ID,序列号和数量。基本上我有一个产品,但有两个不同的序列号。所以,当我从我的查询中得到我的数据时,我有两个项目,我想将它们视为单个项目。我该如何去使用LINQ或其他的东西(我不能对他们进行预告,还有更多的类成员,这需要一段时间,再加上看起来很糟糕)。我希望能够使用2个实例并合并其序列号(而不是仅添加Serail1 - Serial 2)并一起计算数量。在列表中组合两个项目
0
A
回答
0
使用join
运算符并将它们放在Tuple
中。然后你可以在元组上调用更多的LINQ或迭代它们。
var combinedProducts =
from product1 in products1
join product2 in products2 on product1.serial equals product2.serial
select Tuple.Create(product1, product2);
// Use LINQ to calculate a total
combinedProducts.Sum(combined => combined.Item1.count * combined.Item2.price);
// Or use foreach to iterate over the tuples
foreach (var combined in combinedProducts) {
Console.WriteLine("{0} and {1}", combined.Item1.name, combined.Item2.name);
}
1
我想你想要的是Linq分组功能(见GroupBy - Simple 3)。这应该给你一个序列号和他们的数量清单:
public void Linq42()
{
List<Prod> products = GetProductList();
var serialCombined =
from p in products
group p by p.SerialNumber into g
select new { SerialNumber = g.Key, Total = g.Count() };
}
相关问题
- 1. 结合项目两个列表
- 2. Python从两个列表合并项目
- 3. 列表的组合项目
- 4. 制作组合列表中的每个项目的项目
- 5. 在C++中组合两个列表
- 6. JavaScript - 按项目组合两个数组
- 7. 两个列表组合
- 8. 给定列表中的项目组合
- 9. 如何将列表中的两个项目合并为一个?
- 10. 将两个列表框中的项目合并到第三个列表框中
- 11. 组合两个项目(配方样)
- 12. java中两个列表的组合
- 13. python中两个列表的组合
- 14. 将两个小数点列表组合在一个数组中
- 15. 在Eclipse中结合两个Java项目
- 16. Python:将列表中的一个项目变成两个项目
- 17. 表的两列组合到单个列
- 18. 组合两个选项[列表[字符串]在斯卡拉
- 19. 在Bootstrap中,将两个项目组合在一起
- 20. 组合框/列表框选定项目
- 21. javafx组合框项目列表问题
- 22. 组合框列表项目不出现
- 23. Python - 用于迭代的两个列表中的每个列表的三个项目的组合
- 24. 在列表框中的项目中获取组合框中的选定项目
- 25. 合并两个列表,每个项目出现一次
- 26. Enum组合框列出每个项目两次
- 27. Python:包含1个或多个项目的列表列表中的2个项目组合
- 28. 从组合框列表中选择两个组合框的值?
- 29. Python-将两个列表组合成一个列表列表
- 30. 合并两个列表项到元组的列表中还包含指数
你可以举个例子吗?列表样本的数据?未标记答案 – Kiquenet 2016-09-29 07:12:57