2009-10-25 20 views
5

Virgülle ayrılmış 5000 sözcük içeren bir .csv dosyası (words.csv) var. Dizelerin çoğu tekrarlanan değerlerdir. BirlikteGruptaki öğeleri grupla ve sayın

A. grup ortak kelime ve tekrarlanan kelimeler

yüzden

şov sayımı elma 5 kez tekrar edilmiş ve muz 3 times..it göstermesi gerekir eğer:

ben aşağıdakileri yapmak LINQ kullanabilir miyim 5
muz - - elma

olarak 3 ve böylece B.

kaldırıldı tekrarlar da başka bir metin dosyası oluşturun.

cevap

1

Kullanabileceğiniz Linq'de ayrı bir anahtar kelime var.

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

Veya içinde

"saf" C# yöntemini çağırır:

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

6

Tabii, burada C# LINQ sözdizimi var

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

Ve kelimelerin ayrı liste oluşturmak için sen Yalnızca ayrı operatörü kullanın:

words.Distinct(); 
İlgili konular