Mam na myśli re-factor, ale nie wiem, czy efekt końcowy jest po prostu przesadzony. Obecnie mamUżywa linq w tej sytuacji overkill
IList<myobjecttypebase> m_items;
public int GetIncrementTotal()
{
int incrementTot;
foreach(myobjecttypebase x in m_items)
{ incrementTot += x.GetIncrement(); }
}
byłoby przesadą i/lub mniej efektywne w użyciu LINQ do ForEach
m_items.ToList().ForEach(x => incrementTot += x.GetIncrement());
Czy obsada być znaczny narzut tutaj?
Dzięki za wyczerpującą odpowiedź Guffa. – Andrew
"Nieznaczny narzut" tutaj jest tylko różnicą między wywołaniem delegata i wbudowanym kodem. Dopóki kolekcja nie jest ogromna lub podsumowujesz wiele kolekcji wykorzystujących to jako podstawę do wyboru kodowania, wchodzi w obszar przedwczesnej optymalizacji. Wprowadzaj zmiany w ten sposób, tylko jeśli testy wydajności pokażą, że uzyskasz znaczną poprawę całkowitego czasu pracy. – Richard