ちょっと楽するLINQの書きかた
最近他の人の書いたメソッド構文のLINQを読む機会が増えて、もっとシンプルに書けるのになあと思うことがしばしば。典型的には、LINQで絞り込んだIEnumerable<T>に対してEnumerable.ToList<TSource>(IEnumerable<TSource>) メソッドを呼び出してList<T>クラスのインスタンスを生成、その後List<T>.ForEach(Action<T>) メソッドで取り出した各要素を別のリストにList<T>.Add(T) メソッドで追加したりするような処理です。LINQの処理はイテレーターをベースにしています。一方Listクラスは要素をオンメモリで管理します。そのためイテレーターで処理できるデータ(LINQ to Entitiesでアクセスしたデータなど)はなるべく…