Пользователь ta.speot.is сделал очень умное замечание: как насчет связей? Или, что, если в книге № 10 также было 42 чтения (например, 9). Было бы несправедливо бросить его из лиги, не так ли? В самой крайней форме, что, если все книги имели одинаковое количество чтений?
Давайте предположим, что это пять высокий читает вы заинтересованы в Тогда вы должны группировать по TimesRead
и сообщать о пяти самых высоких групп с их книгами (любое количество):.
var readGroups = from b in books
group b by b.TimesRead into readgroup
select new
{
TimesRead = readgroup.Key,
Books = string.Join(", ", readgroup.Select(b => b.Id))
};
var highFive = readGroups.Take(5);
это даст вам выход, как
98 8
84 3
65 6
45 1
42 9
, но если 10 также было 42 гласит:
98 8
84 3
65 6
45 1
42 9, 10
и если все было то же самое # гласит:
42 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
насчет связи? –