Почему вы не можете использовать параметр ref или out в выражении лямбда?
Сегодня я столкнулся с этой ошибкой и нашел обходное решение, но мне все еще было любопытно, почему это ошибка времени компиляции.
Вот простой пример:
private void Foo()
{
int value;
Bar(out value);
}
private void Bar(out int value)
{
value = 3;
int[] array = { 1, 2, 3, 4, 5 };
int newValue = array.Where(a => a == value).First();
}