我正在考慮一個重新因素,但我不知道最終結果是否只是矯枉過正。 目前我有正在使用linq在這種情況下過度殺傷
IList<myobjecttypebase> m_items;
public int GetIncrementTotal()
{
int incrementTot;
foreach(myobjecttypebase x in m_items)
{ incrementTot += x.GetIncrement(); }
}
難道是矯枉過正和/或低效率使用LINQ對foreach
m_items.ToList().ForEach(x => incrementTot += x.GetIncrement());
會投是一個顯著的開銷嗎?
感謝您的全面解答Guffa。 – Andrew 2010-02-03 11:13:57
這裏的「輕微開銷」只是調用代理和內聯代碼之間的區別。除非集合很大,否則你將許多集合加起來作爲編碼選擇的基礎,因此屬於過早優化領域。只有在性能測試顯示您的總運行時間得到顯着改善時才進行此類更改。 – Richard 2010-02-03 12:01:13