Я изучаю C # и мне нужно объединить два словаря, чтобы я мог добавить значения, найденные в обоих.
Первый словарь - payePlusNssf, который содержит значение для каждого ключа (ключ представляет собой идентификатор сотрудника). Пока что у меня есть сотрудники 1,2,3,4 и 5
Dictionary<int, decimal> payePlusNssf = new Dictionary<int, decimal>();
paye.ToList().ForEach(x =>
{
var deductNSSF = x.Value + nssfAmount;
payePlusNssf.Add(x.Key, deductNSSF);
});
2-й словарь - nhifRatesDictionary, который содержит ставки, которые нужно добавить к каждому значению на сотрудника в первом словаре.
Dictionary<int, IEnumerable<NHIFRates>> nhifRatesDictionary =
new Dictionary<int, IEnumerable<NHIFRates>>();
basicPayDictionary.ToList().ForEach(x =>
{
List<NHIFRates> nhifValueList = new List<NHIFRates>();
// Using Employee basic pay
decimal basicPay = x.Value;
bool foundflag = false;
foreach (var item in nhifBracketList)
{
if (basicPay >= item.Min && basicPay <= item.Max)
{
nhifValueList.Add(new NHIFRates { Rate = item.Rate });
foundflag = true;
break;
}
}
if (!foundflag)
{
nhifValueList.Add(new NHIFRates { Rate = 0m });
}
nhifRatesDictionary.Add(x.Key, nhifValueList);
});
struct NHIFRates
{
public decimal Rate { get; set; }
}
В итоге мне нужно это после слияния и добавления:
Dict 1 Dict 2 Result Dict 3
key value key rate key value
1 500 1 80 1 580
2 1000 2 100 2 1100
3 2000 3 220 3 2220
4 800 4 300 4 1100
5 1000 5 100 5 1100
Как мне этого добиться? Я смотрел на прошлые подобные проблемы на этом сайте, но они мне не очень помогли.