.NET 4.x Слить совпадающие элементы в разных коллекциях - C#
Формулировка задачи:
public class SalesOrder { public string Name { get; set; } public double Price { get; set; } public int Quantity { get; set; } public SalesOrder(string Name, double Price, int Quantity) { this.Name = Name; this.Price = Price; this.Quantity = Quantity; } } //... List<SalesOrder> Orders1 = new List<SalesOrder>() { new SalesOrder("Ballon", 2.54, 1), }; //.. List<SalesOrder> Orders2 = new List<SalesOrder>() { new SalesOrder("Ballon", 2.54, 21), new SalesOrder("Ball", 4.32, 2) };
"Ballon", 2.54, 22
"Ball", 4.32, 2
Решение задачи: «.NET 4.x Слить совпадающие элементы в разных коллекциях»
textual
Листинг программы
List<SalesOrder> Orders3 = Orders1.Union(Orders2) .GroupBy(order => new { order.Name, order.Price }) .Select(group => { SalesOrder order = group.First(); order.Quantity += group.Skip(1).Sum(o => o.Quantity); return order; }).ToList();
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д