头大,对list1中的项去重,并记录下每个重复项的重复次数,要如何写

头大,对list1中的项去重,并记录下每个重复项的重复次数,要怎么写?
比如说上万条数据,我导入到list1中,现在要把重复出现的项去重,还要记录下每个重复项的重复次数,要怎么写呢?

------解决方案--------------------
用VB.NET只要一行:
Dim query = list.GroupBy(Function(x) x).Select(Function(x) New With { .Item = x.Key, .Count = x.Count() })
------解决方案--------------------
用 Dictionary对象来处理,几万条数据,很容易。