Linq Count Group в списке <список <string>> - PullRequest
1 голос
/ 11 июля 2011

У меня есть список объектов, каждый из которых имеет дочерний список строк. Я пытаюсь подсчитать количество уникальных строк в дочерних списках.

Пример объектов:

private class ForumUser
{
    public List<string> RegisteredForums { get; set; }
}

Окукливание примера

List<ForumUser> forumUsers = new List<ForumUser>
    {
        new ForumUser {RegisteredForums = {"Forum1", "Forum2"}},
        new ForumUser {RegisteredForums = {"Forum1", "Forum2", "Forum3"}},
        new ForumUser {RegisteredForums = {"Forum1", "Forum2", "Forum3", "Forum4"}},
        new ForumUser {RegisteredForums = {"Forum1", "Forum2", "Forum3", "Forum4", "Forum5"}}
    };

Ожидаемый результат:

Словарь <'отличное название форума', 'количество форумов'> результат

Dictionary<string, int> result = forumUsers.GroupBy(&lt;your cleverness here&gt;
Forum1, 4
Forum2, 4
Forum3, 3
Forum4, 2
Forum5, 1

спасибо

Ответы [ 2 ]

7 голосов
/ 11 июля 2011
forumUsers.SelectMany (x=> x.RegisteredForums ).GroupBy (x => x).ToDictionary (x =>x.Key,x=>x.Count())
1 голос
/ 11 июля 2011
forumUsers.SelectMany(f => f.RegisteredForums).GroupBy(s => s)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...