>>675
えっと、でっかい構造体 HugeStruct とかがあったとして、

HugeStruct[] a = new HugeStruct[N];
a[0] = new HugeStruct();
HugeStruct b = a[0];

だといちいちでっかいデータのコピーがあって糞重たいはず。

要素として object 型を取るような非ジェネリックコレクション(例えば System.Collections.ArrayList) 使う場合、

ArrayList a = new ArrayList();
a.Add(new HugeStruct());
a[0] = new HugeStruct();
HugeStruct b = (HugeStruct)a[0];
だと、いちいち boxing, unboxing、キャストが必要だから、その分遅い。

ジェネリックコレクション使えば、boxing, unboxing、キャストが不要な分だけは早くなる。