У меня есть эта структура:Как использовать LINQ, чтобы найти сумму?
private readonly Dictionary<string, Dictionary<string, int>> _storage =
new Dictionary<string, Dictionary<string, int>>();
ключ: Firmware (строка): ключ: Device (строка): значение CountOfUsers (ИНТ)
Мне нужно, чтобы получить общее количество пользователей для каждого устройства, но Я действительно не знаю, как это сделать с LINQ. Уже пробовал много вариантов. Пожалуйста помоги!
На данный момент, я просто использовать всю функция, для
private XlsRow2 GetTotalPerDevice(Dictionary<string, Dictionary<string, int>> storage)
{
XlsRow2 totalPerDeviceRow = new XlsRow2();
totalPerDeviceRow._Name = "Grand Total";
totalPerDeviceRow.UseBorders = true;
foreach (var deviceModel in _allDeviceModels)
{
foreach (var firmware in storage)
{
foreach (var device in firmware.Value)
{
var countOfUsers = 0;
if (deviceModel == device.Key)
{
countOfUsers += device.Value;
if (!_totalsPerDevice.ContainsKey(deviceModel))
{
_totalsPerDevice.Add(deviceModel, countOfUsers);
}
else
{
_totalsPerDevice[deviceModel] += countOfUsers;
}
}
}
}
}
foreach (var deviceModel in _allDeviceModels)
{
if (_totalsPerDevice.ContainsKey(deviceModel))
{
totalPerDeviceRow._AddColumn(_totalsPerDevice.First(k => k.Key == deviceModel.ToString()).Value.ToString());
}
else
{
totalPerDeviceRow._AddColumn("");
}
}
return totalPerDeviceRow;
}
Еще раз совет, что не всегда лучший ответ имеет самый высокий балл, а просто тот, у которого уже много голосов. Сожалею. братан. – HimBromBeere