Форум программистов, компьютерный форум, киберфорум
LINQ
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
2 / 2 / 2
Регистрация: 13.03.2013
Сообщений: 107
1

Группировка списка объектов в словарь

26.03.2014, 16:50. Показов 1131. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день. Есть список элементов, допустим объектов некоторого класса Х, имеющего поля Name и Age. Например такой:
C#
1
2
3
4
5
6
7
{ Name = "Коля", Age = 13 }
{ Name = "Вася", Age = 10 }
{ Name = "Коля", Age = 12 }
{ Name = "Вася", Age = 13 }
{ Name = "Степа", Age = 13 }
{ Name = "Степа", Age = 19 }
{ Name = "Коля", Age = 8 }
Необходимо с помощью LINQ на выходе получить словарь вида <string, List<int>>, т.е. ключ - это имя (например, Коля), а значение - список возрастов (в случае Коли это {13, 12, 8}). Подскажите как бы лаконично оформить такой запрос. Спасибо.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.03.2014, 16:50
Ответы с готовыми решениями:

Группировка элементов списка в определенной последовательности
Дано: Имеется класс, содержащий три поля public class Speed { public int speedValue; //...

Группировка, объединение, суммирование списка посредством запроса LINQ
Добрый день, подскажите вариант реализации запроса. VB.net Есть некий структурирированный список ...

Вытащить все строки из списка объектов
Такая ситуация, есть список объектов у каждого объекта есть лист с определенным кол-вом элементов...

Группировка 3d объектов
Всем доброго времени суток. Что-то никак не могу выдумать. Есть 3d пространство, в нем раскиданы...

1
995 / 893 / 354
Регистрация: 24.03.2014
Сообщений: 2,381
Записей в блоге: 2
27.03.2014, 10:12 2
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
            List<a> lst = new List<a>(new[] {
                new a { Name = "Коля", Age = 13 },
                new a { Name = "Вася", Age = 10 },
                new a { Name = "Коля", Age = 12 },
                new a { Name = "Вася", Age = 13 },
                new a { Name = "Степа", Age = 13 },
                new a { Name = "Степа", Age = 19 },
                new a { Name = "Коля", Age = 8 }
            });
 
            var dict = lst.GroupBy(g => g.Name).ToDictionary(key => key.Key, v => v.Select(s => s.Age).ToList());
 
        class a
        {
            public string Name { get; set; }
            public int Age { get; set; }
        }
Добавлено через 2 минуты
Собственно лаконично тут и получается:
1) Группируем по Name
2) В качестве ключа выбирается ключ группы (key.Key)
3) В качестве значений словаря список из возрастов
1
27.03.2014, 10:12
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.03.2014, 10:12
Помогаю со студенческими работами здесь

Группировка объектов
Привет! Никак не получается сгруппировать картинку и wordart текст. Хочется потом это дело...

Группировка объектов в группы
Привет, форумчане! Вопрос такой: Можно-ли в окне базы данных (там, где слева список всех таблиц,...

Группировка объектов записанных в таблицу - по текстовому значению в строке
Всем доброго вечера. Помогите решить задачу. Есть в книге экселя - выписанные в таблицу...

Группировка списка
Как в Visual Studio сделать группировку списка как на этой картинке?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru