如何计算数组中每个唯一元素的出现次数?

pha*_*han 0 c# arrays visual-studio-2010

我有一系列邮政编码.如何获取阵列中每个唯一邮政编码的列表,然后计算阵列中唯一邮政编码出现的次数?

我看到了这个:

一种计算列表中出现次数的方法

我有预感这是我的问题的解决方案,但我真的不明白.有人可以告诉我这是不是

  1. 确实是最好的方法.和
  2. 告诉我如何将数组放入List中以便我可以利用GroupBy?

its*_*e86 5

这应该适合你:

var zips = new string[] { "12345", "12345", "54321" };
var groups = zips.GroupBy(z => z);

foreach(var group in groups)
    Console.WriteLine("{0} -> {1}", group.Key, group.Count());
Run Code Online (Sandbox Code Playgroud)

应该给你:

12345 -> 2
54321 -> 1
Run Code Online (Sandbox Code Playgroud)

driis实际上可以让你在那里大部分时间.我刚发布这个来帮助展示如何枚举组.