4
List<int> ListIdProducts = new List<int>();
var IdProductKey = from a in me.ProductKeywords where a.Keyword == item.Id select a;
 foreach (var item2 in IdProductKey)
 {
   ListIdProducts.Add(item2.Product.Value);
 }

結果: 5 6 7 5 2 5

次の 5=3、6=1、7=1、2=1 を取得する必要があります

4

3 に答える 3

5

GroupByLINQ メソッドを使用します。

ListIdProducts
    .GroupBy(i => i)
    .Select(g => new { Value = g.Key, Count = g.Count() });
于 2012-04-17T14:12:18.200 に答える
3
var query1 = from a in ListIdProducts 
                         group a by new { a } into g
                         select new
                         {
                             item = g.Key,
                             itemcount = g.Count()
                         };
于 2012-04-17T14:18:41.993 に答える
2

これはかなり標準的なグループ化問題です。

//untested
var IdProducts = from a in me.ProductKeywords 
                 where a.Keyword == item.Id 
                 group by a.Product.Value into g
                 select g.Count();
于 2012-04-17T14:13:42.340 に答える