から値の合計数を取得Class
:LINQは - 私が持っているネストされたリスト
public class Company
{
public int id { get; set; }
public string title { get; set; }
public string address { get; set; }
public string city { get; set; }
public string zip { get; set; }
public List<string> phones { get; set; }
public List<string> categories { get; set; }
}
と私はClass
ことGeneric List
が含まれています:
public List<Company> Companies = new List<Company>();
が、私は二つのことをやりたいです:
- カテゴリの別リストを取得
- カテゴリ
あたりの企業の合計数を取得する私は私が最初に管理すると思う:あなたは何もそれと間違っていると思うなら、私に教えてください
Companies.SelectMany(c => c.categories).Distinct()
。
私は次のように2番目の手順を試しました。 Companies.SelectMany(c => c.categories).Where(c=>c == Category).Count()
しかし、本当に正しいかどうかはわかりません。あなたがしたい場合は、次の
from company in Companies
from category in company.Categories
group company by category into g
select new { Category = g.Key, Count = g.Count() }
EDIT:あなたがカテゴリ別にグループそして、(会社、カテゴリ)のペアにリストを平らにする必要が
会社には1つのカテゴリ、つまり必要な数、特定のカテゴリに属する会社の数があります。 – Dementic
@Demetic:編集を参照してください – SLaks
私はHasanのコメントに書いたのと同じ結果を返します。 – Dementic