【发布时间】:2017-11-17 07:01:29
【问题描述】:
这是一个已经提出的问题,但that question 仅使用 2 个属性,我需要使用 3 个属性,所以我复制粘贴了大部分文本。
假设我们有一个类似的类
class Person {
internal int PersonID;
internal string car ;
internal string friend ;
}
现在我有一个这个类的列表:列出人员;
现在这个列表可以有多个相同的 PersonID 实例,例如。
persons[0] = new Person { PersonID = 1, car = "Ferrari" , friend = "Josh" };
persons[1] = new Person { PersonID = 1, car = "BMW" , friend = "Olof" };
persons[2] = new Person { PersonID = 2, car = "Audi" , friend = "Gustaf" };
有没有办法可以按 PersonID 分组并获取他拥有的所有汽车和朋友的列表?例如,预期的结果是:
class Result {
int PersonID;
List<string> cars;
List<string> friends;
}
从我目前所做的:
IEnumerable resultsForDisplay = ResultFromSQL_Query.GroupBy(
p => p.PersonId.ToString(),
p => p.car,
(key, g) => new { PersonId = key, car = g.ToList()});
但现在我无法在 resultsForDisplay 中获取 friend's 数组
【问题讨论】: