mam tę strukturę:Jak korzystać z LINQ, aby znaleźć kwotę?
private readonly Dictionary<string, Dictionary<string, int>> _storage =
new Dictionary<string, Dictionary<string, int>>();
klucz: Firmware (string): Klucz: Device (String): CountOfUsers wartości (int)
muszę się całkowitej użytkowników dla każdego urządzenia, ale Naprawdę nie wiem jak to zrobić z LINQ. Wypróbowałem już wiele wariantów. Proszę pomóż!
Na razie wystarczy użyć całą funkcję dla niego
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;
}
Jeszcze raz rada, która nie zawsze najlepsza odpowiedź, ma najwyższy wynik, ale po prostu ten, który ma już wiele głosów. Przepraszam. brachu. – HimBromBeere