1

私は一晩中(再び)リスト内の一意のアイテムの各セットの合計数を取得しようと頭を悩ませてきました。ユニークなリスト項目を取得できました。しかし、一意のアイテムの各グループの数を取得する方法がわかりません。これが理にかなっているかどうか教えてください。以下は私のコードです:

    List<string> categories = new List<string>();

    foreach (var item in Model)
    {
        categories.Add(item.Category);
    }
    IEnumerable<string> distinctCategories = categories.Distinct();                                                                      

        foreach (string category in distinctCategories)
        {
        <a href="http://localhost:62087/Items/SearchIndex?itemCategory=@category">@category @category.Count()</a>
        } 

ご覧のとおり、モデルの「Category」プロパティ (Item.Category) に、一意のアイテムごとにリンクが表示されています。リンクの最後にカテゴリ数が表示されている場合、実際にはカテゴリ内の文字数が表示されます (カテゴリ「リング」の場合は 5 など)。しかし、たとえばモデルの Categories プロパティで "Rings" というカテゴリが見つかった回数を数値で表す必要があります。

助けてください

4

1 に答える 1

3

GroupByカウントを取得するには、 の代わりにa を使用する必要がありますDistinct

var distinctCategories =
    categories.GroupBy(x => x)
              .Select(g => new { Name = g.Key, ItemsCount = g.Count() });
foreach (var category in distinctCategories)
{
    <a href="http://localhost:62087/Items/SearchIndex?itemCategory=@category.Name">@category.Name @category.ItemsCount</a>
}
于 2013-06-03T12:16:27.620 に答える