Вы действительно не хотите изменить локальную переменную в теле предиката Where
. Функции с такими побочными эффектами - плохие новости; попытайтесь представить, что произойдет, если это произойдет (например) из параллельного перечислимого, сгенерированного AsParallel()
- у вас будет условие гонки.
Если вы объясните, что вы пытаетесь достичь, я уверен, что один из нас мог бы предоставить лучшее средство для достижения этой цели. Я думаю, что это будет выглядеть примерно так:
int count = myList.Count(x => condition(x));