1
這是一個已經問過的問題,但that question只能使用2個屬性,我需要使用3個屬性,所以我複製了大部分文本。LINQ中有兩個屬性的分組
我們,如果我們有像
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()});
但我現在被困在獲得friend's
陣列中resultsForDisplay
嗨,請原諒我,但我是Linq和Lambda表達式的新手。你能把這個語法轉換成lambda表達式嗎? –
另外,當我嘗試使用你的語法時,它給了我一個'結果'行'選擇新結果{' 錯誤說 '找不到類型或命名空間名稱'結果'一個使用指令或程序集引用?)' –
@AtifWaqar:是的,這些必須寫在我認爲的一行上。 –