2009-09-01 66 views
0

给定一组计数,排序依据和组LINQ

巴黎 纽约 伦敦 纽约 巴黎 巴黎

我试图做一个LINQ查询将返回的分组巴黎,纽约和伦敦与他们各自的计数

我已经能够做一个GroupBy,返回一个只包含巴黎/纽约/伦敦在每个分组中的组。

听起来相对简单,但我不能得到它的工作?

编辑: 这不是一个家庭作业问题。

+0

可以看到你们的代码吗? – 2009-09-01 14:46:26

回答

9

CODE

String[] input = new [] { "Paris", "New York", "London", 
          "New York", "Paris", "Paris" }; 

var groups = input 
    .GroupBy(city => city) 
    .Select(group => new { City = group.Key, Count = group.Count() }); 

foreach(var group in groups) 
{ 
    Console.WriteLine("{0} occurs {1} time(s).", group.City, group.Count); 
} 

输出

 
Paris occurs 3 time(s). 
New York occurs 2 time(s). 
London occurs 1 time(s). 
+0

我没有给出完整的答案,因为它听起来像一个家庭作业问题。您也可以通过使用GroupBy方法的不同重载来缩短它。 – 2009-09-01 15:34:50

0

在分组上使用.Count()。