学生のリストを姓の最初の文字でグループ化する次のクエリを検討してください。
var query = from s in students
group s by s.Last[0] into group1
orderby group1.Key
from g in group1
select new { g.First, g.Last }
ここで、from g in group1
のキーを反復処理するのではなくgroup1
、 の各キーの値を反復処理するという部分group1
です。
これは、(フラットリストを作成するために)処理する方法ですが、直感に反するようです。
私の質問に答えるには、これを説明する MSDN の部分、または私が直感に反する理由を説明してくれる人が必要です ;-)