どこまで本気なのかネタなのかよくわからないけど個人的には>>505は選択しないなあ。
普通にforで回して埋めると思う。
理由は、そのコードを<読む時>に思考力の消費量がより少なくて済むと思うから

(a)
var list = Enumerable.Range(0, 100).Select(i => new Label()).ToList();

(b)
var list = new List<Label>(100);
for (int i = 0; i < list.Count; i++) list[i] = new Label();

一瞬で何やってるか理解できるのは(b)の方。
これは構造化(= パターン認識)の威力。

(a)も十分読みやすいけど、(b)に比べると若干高コスト。
(a)を好むのは多分巨大なコードを書いてメンテナンスしたことがない人だと思う。