根据其他数组添加数组元素

时间:2018-08-19 12:59:22

标签: c# arrays sum

我有两个数组,它们的元素是一对一映射的。

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中的逻辑

2 个答案:

答案 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();

请参见下面打印的输出。

enter image description here