Как да получите честотата на елементите от List в c#

Опитвам се да получа честотата на елементите, съхранени в списък.

Съхранявам следните идентификатори в моя списък

ID
1
2
1
3
3
4
4
4

Искам следния изход:

ID| Count
1 | 2
2 | 1
3 | 2
4 | 3

В java можете да направите следния начин.

for (String temp : hashset) 
    {
    System.out.println(temp + ": " + Collections.frequency(list, temp));
    }

Източник:http://www.mkyong.com/java/how-to-count-duplicated-items-in-java-list/

Как да получа броя на честотите на списък в c#?

Благодаря.


person Huzaifa    schedule 02.07.2013    source източник


Отговори (1)


Можете да използвате LINQ

var frequency = myList.GroupBy(x => x).ToDictionary(x => x.Key, x => x.Count());

Това ще създаде Dictionary обект, където ключът е ID, а стойността е броят пъти, в които идентификаторът се появява.

person keyboardP    schedule 02.07.2013