というか問題点がズレてるな。
生成の時点で云々じゃなく、LINQの仮引数に代入して意味があると勘違いしているのがマズイ。

>>23
>hogeList.ForEach((x) => { x = new Hoge(); });

これさあ

foreach(Hoge x in hogeList){
x = new Hoge();
}

って書いてるのと同じなんだよ。
この場合xが読み取り専用っていうのは分かるよね?