Группировка в 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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