计算数组中的重复数字

kay*_*arr 1 c# arrays

相当新的C#.有一个类的赋值,要求我们从用户输入的值生成一个数组.这部分完成,工作完美.

现在数组已经完成,我需要能够在Console.WriteLine中显示数组中输入的每个不同的数字,以及该数字出现的次数,我对如何实现这一点感到有点迷失.

Jon*_*eet 6

您是否允许使用LINQ?如果是这样,请调查GroupBy并且Count().基本上有一个单行程可以在这里工作,但由于它的功课我会让你自己解决细节...如果你遇到问题,请求更多的帮助.

  • +1表示路径的开头,而不是结束 (2认同)

Mig*_*elo 5

您可以创建一个字典,其中键是数字,值是数组中该特定数字的计数,然后在每次找到数字时增加字典中的值:

例:

        int[] arrayOfNumbers = new int[] { 1, 4, 2, 7, 2, 6, 4, 4, };
        Dictionary<int, int> countOfItems = new Dictionary<int, int>();
        foreach (int eachNumber in arrayOfNumbers)
        {
            if (countOfItems.ContainsKey(eachNumber))
                countOfItems[eachNumber]++;
            else
                countOfItems[eachNumber] = 1;
        }
Run Code Online (Sandbox Code Playgroud)

此代码适用于所有C#版本,但如果您使用的是C#3或更高版本,则可以使用LINQ,正如其他人所建议的那样.=)