.NET 3.x Группировка используя LINQ + сумма стрингов - C#
Формулировка задачи:
Всем привет!!
Хочу реализовать отчетик* в среде 3D моделирования.
Есть элемент например с именем 'V1', описанием 'Задвижка' и материалом 'Сталь 20'.
Пример этих полей в виде строк а-ля CSV:
Все группирует и сортирует, количество пишет одинаковых элементов, если без имени.
;Клапан;Сталь 20;1;V1
;Клапан;Сталь 20;1;V2
;Задвижка;Сталь 20;1;V3
Мне нужно получить:
;Клапан;Сталь 20;2;V1,V2
;Задвижка;Сталь 20;1;V3
Использую код, но не внося имя в класс Element:
class Program { static void Main(string[] args) { List<Element> ElementList = new List<Element>(); ElementList = new List<Element> { new Element() {desc = "Фильтр LTR ",material="Сталь 20",quan=1 }, new Element() {desc = "Задвижка ",material="Сталь 20",quan=1 }, new Element() {desc = "Задвижка ",material="Сталь 20",quan=1 }, }; var query = ElementList .OrderBy(d => d.desc) .GroupBy(g => new { g.desc, g.material }) .Select(group => new { desc = group.Key.desc, mat = group.Key.material, Quantity = group.Sum(Q => Q.quan), }); foreach (var item in query) { Console.WriteLine("{0};{1};{2}", item.desc, item.mat, item.Quantity); } Console.ReadLine(); } } class Element { public string desc { get; set; } public string material { get; set; } public int quan { get; set; } }
;Клапан;Сталь 20;2
;Задвижка;Сталь 20;1
Помогите собирать имена по аналогу с количество?!
Спасибо Решение задачи: «.NET 3.x Группировка используя LINQ + сумма стрингов»
textual
Листинг программы
Quantity = group.Sum(Q => Q.quan)
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д