MSDN 在解释 LINQ 中的嵌套组方面做得非常糟糕: https ://docs.microsoft.com/en-us/dotnet/csharp/linq/create-a-nested-group
举个例子:
IEnumerable<IGrouping<Gender, IGrouping<Job, Person>>> query =
from person in peopleList
group person by person.Gender into genderGroup
from jobGroup (
from person in genderGroup
group person by person.Job
)
group jobGroup by genderGroup.Key;
我的问题:
- 在括号之间的from子句中,为什么源必须是genderGroup?为什么它不能像第一个 from 子句那样来自 peopleList?
- 在最后一个子句中,当与 genderGroup.Keys 进行比较时,实际查看的是 jobGroup 的哪个属性?