2009-10-25 37 views
5

Tôi có tệp .csv (words.csv) chứa 5000 từ được phân tách bằng dấu phẩy. Hầu hết các chuỗi là các giá trị lặp lại.Nhóm và đếm các mục

Tôi có thể sử dụng LINQ to làm như sau:

A. nhóm từ thông dụng với nhau và đếm chương trình từ lặp lại

vì vậy nếu táo đã được lặp đi lặp lại 5 lần và chuối 3 times..it sẽ hiển thị như

táo - 5
chuối - 3 và vân vân

B. Tạo một tập tin văn bản với bản sao gỡ bỏ.

Trả lời

6

Chắc chắn, đây là cú pháp LINQ trong C#:

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

Hoặc trong "tinh khiết" C# phương thức gọi:

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

Và để tạo một danh sách riêng biệt của những từ bạn chỉ cần sử dụng toán tử Distinct:

words.Distinct(); 
Các vấn đề liên quan