Группировка в LINQC#

Место общения программистов C#
Anonymous
Группировка в LINQ

Сообщение Anonymous »

Предположим, что у нас есть класс типа:

Код: Выделить всё

class Person {
internal int PersonID;
internal string car;
}
У меня есть список этого класса: List
person;
И этот список может иметь несколько экземпляров с одним и тем же PersonID, например:

Код: Выделить всё

persons[0] = new Person { PersonID = 1, car = "Ferrari" };
persons[1] = new Person { PersonID = 1, car = "BMW"     };
persons[2] = new Person { PersonID = 2, car = "Audi"    };
Есть ли способ сгруппировать по PersonID и получить список всех его автомобилей?
Например, ожидаемый результат будет

Код: Выделить всё

class Result {
int PersonID;
List cars;
}
Итак, после группировки я получу:

Код: Выделить всё

results[0].PersonID = 1;
List cars = results[0].cars;

result[1].PersonID = 2;
List cars = result[1].cars;
Из того, что я сделал на данный момент:

Код: Выделить всё

var results = from p in persons
group p by p.PersonID into g
select new { PersonID = g.Key, // this is where I am not sure what to do
Может ли кто-нибудь указать мне правильное направление?

Подробнее здесь: https://stackoverflow.com/questions/732 ... by-in-linq

Вернуться в «C#»