如何在c#中找到数组的模式?

时间:2013-09-15 23:43:46

标签: c# arrays mode

我知道这个问题有很多线索,但没有一个能按照我想要的方式帮助我。

所以这是我的问题:我有这个数组:

int [] array = {1, 1, 1, 2, 2, 4} 

我想显示该数组的模式,但是当我这样做时,它显示三个1和一个2,它应该是一个1和一个2,我想在{1中保存2个数字(1和2) {1}}和另一个ListBox中的数字4。

我找到了这段代码,但我并没有完全理解它。我不知道如何使用字典,我不能使用它,因为我不知道它是如何工作的:

ListBox

1 个答案:

答案 0 :(得分:0)

int[] numsArr = { 1, 1, 1, 2, 2, 3, 4, 5, 6 };

var numberGroups = numsArr.GroupBy(num => num);
var mostCommonGroups = numberGroups.Where(grp => grp.Count() == numberGroups.Max(group => group.Count()));

var mostCommonValues = mostCommonGroup.Select(mostCommonGroups.Key);

最常见的值是您的模式。