我有两个数组,它们的元素是一对一映射的。
string [] denom = new string[] { EUR, GBP, EUR, USD, USD};
int [] count = new int[] { 1, 3, 4, 7, 8};
EUR - 1
GBP - 3
EUR - 4
USD - 7
USD - 8
我想通过基于denom的计数求和将输出输出到数组中
因此,欧元-5(1 +4),英镑-3,美元-15(7 + 8)
输出数组的值应为{5,3,15}
我们有一种逻辑可以用Denoms(即欧元,英镑,美元)重新映射最终计数
我们想要C#.net中的逻辑
答案 0 :(得分:1)
您可以简单地创建一个地图并按如下所示保持总计:
height
最后,您将剩下货币名称作为键,而总价值则是针对该特定键的值。
答案 1 :(得分:1)
要获得所需的输出,下面的代码示例将为您提供帮助。
string[] denom = new string[] { "EUR", "GBP", "EUR", "USD", "USD" };
int[] count = new int[] { 1, 3, 4, 7, 8 };
//Create dictionary object to manage group by denom
Dictionary<string, int> dct = new Dictionary<string, int>();
//Iterate and sum group by denom
for (int i = 0; i < denom.Length; i++)
{
if (!dct.Keys.Contains(denom[i]))
dct[denom[i]] = 0;
dct[denom[i]] += count[i];
}
//Print output
foreach (KeyValuePair<string, int> kpVal in dct)
Console.WriteLine(kpVal.Key + "=" + kpVal.Value);
dct.Clear();
请参见下面打印的输出。