c# - 将一个数组中数字的频率写入另一个数组

标签 c# arrays

我正在编写一个用于统计的小应用程序。此应用程序的一个功能是确定包含 100 个元素的 Array 中随机生成的数字的频率。

到目前为止,我设法生成了一个二维Array,我用数字 0-100 填充了它(这些是另一个 Array< 中随机生成的数字的最大值和最小值)。

我想用基于索引的频率填充这个数组。

像这样:

//Array for random numbers
int[] randomNumbers = new int[10] {2, 3, 4, 5, 5, 2, 8, 9, 3, 7};

//Two-dimensional array for holding frequency of each unique number
int[,] frequency = new int[2,101];

for (int i = 0; i <= 100; i++)
{
    frequency[0, i] = i;
}

频率数组生成良好。但我不知道从这里去哪里。如何将每个唯一数字的频率添加到数组中?我试过这个:

for (int i = 0; i < randomNumbers.Length; i++)
{
    frequency[1, i] = frequency[1, i] + 1;
} 

但它只是连续地用一个填充频率数组。

最佳答案

GroupBy 使这变得非常简单。

var frequencies = randomNumbers.GroupBy(n => n)
    .Select(group => new 
             {
                Number = group.Key, 
                Frequency = group.Count() 
             });

关于c# - 将一个数组中数字的频率写入另一个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16964630/

相关文章:

c# - 使用 .Net core 应用程序发送到 EventHubs 时如何优化吞吐量

c# - 未能覆盖代码并通过测试

java - 读取文件并将名称和数字存储在两个数组中

arrays - Scala 中的 apply() 函数出现编译错误?

javascript - 使用javascript更改带有对象的urlpath

python - 二维数组和一维数组的点积不同于矩阵和一维数组

c# - 从 WebRequest 获取查询字符串

c# - Win32.DestroyIcon 与 Icon.Dispose

c# - 如何在 ASP.NET Core 中注册单例工厂解析作用域对象?

c++ - 输出结构的枚举返回负数