.ToList()
LINQ クエリを作成して追加すると、その LINQ クエリが実行され、リスト オブジェクトが返されることを理解しています。ただし、これを行わないと、代わりに、私が理解しているように、まだソートされていない IOrderedQueryable オブジェクトが取得されます。
そのコレクションを For Each ステートメントに配置すると、この時点でリストは順序付けされますか? そして、これは本質的に、そのコレクションの GetEnumerator のデフォルトの実装をオーバーライドしたということですか?