У меня есть код:Как оптимизировать этот код использовать лямбда-выражения
protected void Method1(List<SomeClass> mylist)
{
foreach(var item in mylist)
{
if (!SomeClass.Validate(item))
{
continue;
}
DoStuff(item);
}
}
protected void Method2(List<SomeClass> mylist)
{
foreach(var item in mylist)
{
if (!SomeClass.Validate(item) || item.Value == 0)
{
continue;
}
DoStuff(item);
}
}
как организовать эти два метода?
у них есть разница только item.Value == 0
может использовать выражения лямбда.
Я понятия не имею,
+1, я хотел написать это как мое второе решение :) Но я думаю, что будет лучше, если вы будете писать 'mylist.Where (фильтр). ForEach (DoStuff) ' –
Подождите, ваше решение делает вещи для неправильных предметов. Вам нужно переписать фильтры –
@RomanPekar, вы НЕ можете писать 'mylist.Where (filter) .ForEach (DoStuff)' потому что .ForEach() - это метод 'List', а не' IEnumerable', если вам нужно, напишите: ' mylist.Where (filter) .ToList(). ForEach (i => DoStuff (i)) ' –