from person in genderGroup
group person by person.Job
Этот подзапрос повторяет людей одного пола, поэтому он группирует мужчин по их профессиям, а затем группирует женщин по их работе и так далее. Если вместо genderGroup
используется peopleList
, запрос просто сгруппирует учащегося по заданию, и вложенная группировка не будет.
group jobGroup by genderGroup.Key;
Это группирует внутренние группы, а не людей по ключу внешней группы (пол). Предположим, есть четыре jobGroup
: мужчины-программисты, мужчины-дизайнеры, женщины-программисты и женщины-дизайнеры. Запрос группирует эти четыре группы по полу и, следовательно, создает вложенную группу:
male (outer group's key)
male programmers
male designers
female (outer group's key)
female programmers
female designers
Чтобы лучше понять, я рекомендую вам запустить этот небольшой код в Visual Studio и установить точки останова внутри оператора LINQ , чтобы увидеть, что происходит.