2009-05-05 3 views
0

У меня есть список объектов RegionGroup с двумя свойствами: int «number» и список <> «Регионы».C# - Я знаю, что могу это сделать в LINQ, но я не могу заставить его работать

Мне нужно вывести распределение количества объектов Region, объединенных для каждого числа. Например, учитывая:

[Область 1] - номер: 1 - список <> имеет 5 членов

[Область 2] - номер: 3 - список <> имеет 2 участника

[Область 3] - номер: 4 - список <> имеет 9 членов

[область 4] - номер: 1 - список <> имеет 5 членов

[область 5] - номер: 3 - список <> имеет 4 членов

мне нужно, чтобы получить что-то вроде:

номер: 1 - всего 10 членов

номер: 3 - всего 6 членов

номер: 4 - всего 9 членов

Я занимался различными учебными пособиями, и мне кажется, что мне нужно использовать группы, но я не мог получить ничего работающего.

Любая помощь? Благодаря!

ответ

1

Ответ на этот подобный вопрос может помочь:

Linq Query with SUM and ORDER BY

или это один

C# List<> GroupBy 2 Values

+0

смотрел на первой и прибыл в рабочий раствор. Спасибо за быстрый ответ! – DarkAmgine

+0

Ненавижу 0 ответ принятых ответов, так что вот +1 от меня –

0

Вам нужно сгруппировать по номеру региона, а затем получить общее количество членов в списках.

Как о чем-то вроде этого (непроверенные):

var regionCounts = from region in RegionGroups 
        group region by region.number into g 
        select new {number = g.Key, 
           regions = g.Sum(r=>r.Regions.Count)}; 
+0

yup, вот что я получил =] спасибо за подтверждение! – DarkAmgine