根據[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之外,還有什麼建議?剛剛意識到我目前的應用程序正在泄漏內存:(
感謝;
編輯:?會迫使C#通過W/REF引用(安全除外)提高性能和/或內存使用
您還可以使屬性getter變得聰明,並緩存在調用之間返回的數組。很顯然,您需要在必要時智能地使緩存失效。 – 2009-01-04 10:30:24