Я создаю программное обеспечение для отчета по времени
У меня есть Dictionary<string, Dictionary<string, double>>
. Ключ в основном словаре - это имя пользователя, а его значение - это словарь.
У меня есть функция GetDepartment (строка UserName), которая возвращает строку с отделом пользователей.
Я хочу создать новый словарь того же типа, в котором основным ключом будет отдел, а в поддиректории a - общее количество часов для этого отдела.
Я пытался сделать это с помощью linq, но безуспешно. Был бы очень рад за помощь здесь!
РЕДАКТИРОВАТЬ: Этот код делает именно то, что я хочу. Но я хочу это в LINQ
Dictionary<string, Dictionary<string, double>> temphours = new Dictionary<string, Dictionary<string, double>>(); ;
foreach (var user in hours)
{
string department = GetDepartment(user.Key);
if (!temphours.ContainsKey(department))
{
temphours.Add(department, new Dictionary<string, double>());
}
foreach (var customerReport in user.Value)
{
if (!temphours[department].ContainsKey(customerReport.Key))
{
temphours[department].Add(customerReport.Key, 0);
}
temphours[department][customerReport.Key] += customerReport.Value;
}
}