分组和计数项目

时间:2009-10-25 11:20:19

标签: linq

我有一个.csv文件(words.csv),其中包含由逗号分隔的5000个单词。大多数字符串都是重复值。

我可以使用LINQ执行以下操作:

一个。将常用词组合在一起并显示重复词的计数

所以如果苹果重复5次,香蕉重复3次......应该显示为

apple - 5
香蕉 - 3 等等

B中。创建另一个删除了重复项的文本文件。

2 个答案:

答案 0 :(得分:6)

当然,这是C#中的LINQ语法:

from word in words
group word into occurrences
select new
{
    Word = occurrences.Key,
    Count = occurrences.Count()
}

或者在“纯粹的”C#方法调用中:

words.GroupBy(w => w)
     .Select(o => new 
                  { 
                     Word = o.Key,
                     Count = o.Count()
                  });

要创建一个独特的单词列表,您只需使用Distinct运算符:

words.Distinct();

答案 1 :(得分:1)

Linq中有一个可以使用的独特关键字。

http://www.shawson.co.uk/codeblog/linq-distinct/