[MSDN: 配列の使用に関するガイドライン]( http://msdn.microsoft.com/en-us/library/k2604h5s(VS.71).aspx)によると:
配列値プロパティ
コードの非効率性を回避するには、コレクションを使用する必要があります。次のコード例では、myObj プロパティを呼び出すたびに配列のコピーが作成されます。その結果、配列の 2n+1 個のコピーが次のループで作成されます。
[Visual Basic]
Dim i As Integer
For i = 0 To obj.myObj.Count - 1
DoSomething(obj.myObj(i))
Next i
[C#]
for (int i = 0; i < obj.myObj.Count; i++)
DoSomething(obj.myObj[i]);
myObj[] から ICollection myObj への変更以外に、他に何をお勧めしますか? 私の現在のアプリがメモリをリークしていることに気付きました:(
ありがとう;
EDIT:C#にref(安全性は別として)で参照を渡すように強制すると、パフォーマンスやメモリ使用量が改善されますか?