2011-09-22 149 views
2

我有以下列表:分組列表元素

data.Add(name); 

名單以及人口,但我想:

List<string> data = new List<string>(); 

然後,我通過獲取一個MySQL請求的結果來填充它以進行分組,並希望得到列表中每個名字的編號:

 
name A = X; 
name B = X; 
etc... 

我試圖用data.GroupBy(data, data.Count)但沒有工作。

有什麼建議嗎?

+0

是否有任何理由,爲什麼你不分組爲您的SQL查詢的一部分? –

+0

看到類似的問題:http://stackoverflow.com/questions/1139181/ca-method-to-count-occurrences-in-a-list –

回答

2

試試這個:

from d in data 
group d by d.Name into gds 
select new 
{ 
    Name = gds.Key, 
    Count = gds.Count(), 
} 
2

試試這個:

string[] foo = new string[]{"foo","foo","bar","foo","baz","foo"}; 

var grouping = foo.ToList().GroupBy(x=>x); 

foreach (var s in grouping.OrderByDescending(x=>x.Count())) 
{ 
    Console.WriteLine(s.Key + " - " + s.Count().ToString()); 
} 
+0

謝謝你們, p.campbell的解決方案做到了這個工作,是最接近我所尋找的... Crak – Crak

+0

@Crak Thanks Crak;請務必使用綠色複選標記,因爲它是StackOverflow上Q&A和信譽系統的一部分。謝謝! –