2013-04-09 44 views
-2
int itemCount=3; 

prod.Add("P1"); 
prod.Add("P2"); 
prod.Add("P1"); 
prod.Add("P2"); 
prod.Add("P1"); 
prod.Add("P3"); 

在此产品列表中,我想要计算每个项目,如果计数匹配itemCount,则需要将其放入数组中。通过比较计算检索不同的项目

在这种情况下,只有P1必须放入数组中。

任何人都可以帮我吗?我想在C#中的代码。

回答

2

如果prodIEnumerable<string>,你可以做到这一点使用LINQ

var results = 
    (from s in prod 
    group s by s into g 
    where g.Count() == itemCount 
    select g.Key) 
    .ToArray(); 
1

我认为prod是一般List<string>IEnumerable<string>

var items = prod.GroupBy(x => x) 
       .Where(g => g.Count() == itemCount) 
       .Select(g => g.Key) 
       .ToArray();