У меня есть эти таблицыГруппировка списка списка с помощью LINQ
public class TaskDetails
{
public string EmployeeName {get; set;}
public decimal EmployeeHours {get; set;}
}
public class Tasks
{
public string TaskName {get; set;}
public List<TaskDetails> TaskList {get; set;}
}
У меня есть функция, которая возвращает List<Tasks>
. Мне понадобится создать новый Список, который группирует EmployeeName
и SUMEmployeeHours
независимо от того,TaskName
. То есть, мне нужно получить TotalHours каждого Сотрудника. Как это получить?
P.S: И к тому, что я сделал до сих пор. Я долго смотрел на код. Упрощенная резиновая утка Решение проблем безрезультатно. Я могу получить результаты, используя foreach
и помещая его в Dictionary<string, decimal>
. Эта логика будет проверять, нет ли ключа, добавить новый ключ и присвоить значение, и если ключ существует, добавьте десятичное значение в исходное значение. Но я чувствую его слишком много здесь. Я чувствую, что есть комбинация ForEach - GroupBy - Sum, которую мне не хватает.
Любые указатели на то, как это сделать, будут очень полезны для меня.
Ваш код не компилируется. Я получаю сообщение об ошибке '' Tasks ': имена участников не могут быть такими же, как и их закрывающий тип'. Вы не можете иметь свойство «Задачи» в классе «Задачи». – Enigmativity
извините, я абстрагировал проблему и не обратил внимания на опечатку. исправленный. – naveen