我有一个列表如下。
List<Product> productList = new List<Product>();
Product 类如下所示。
public class Product
{
public int ID { get; set; }
public string ProductName { get; set; }
public int Quantity { get; set; }
}
现在,如果用户插入由 ID 标识的重复列表条目,我将如何能够按如下方式合并它
Product Name Qty
Coke 2
Pepsi 7
最佳答案
您可以使用 LINQ 构建一组新产品:
var results = productList
.GroupBy(p => p.ID)
.Select(g => new Product { ID = g.Key, ProductName = g.First().ProductName, Quantity = g.Sum(i => i.Quantity) })
.ToList();
如果您只需要产品名称和数量,您可以使用:
var results = productList
.GroupBy(p => p.ProductName)
.Select(g => new { ProductName = g.Key, Quantity = g.Sum() });
foreach(var product in results)
{
Console.WriteLine("{0} {1}", product.ProductName, product.Quantity);
}
关于c# - 将重复的列表条目合并为一个并在 C# 中显示数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17728930/