Невозможно использовать параметр ref или out в лямбда-выражениях

Почему вы не можете использовать параметр ref или out в лямбда-выражении?

Сегодня я столкнулся с ошибкой и нашел обходной путь, но мне все еще было любопытно, почему это ошибка времени компиляции.

CS1628: Невозможно использовать в ref или out параметр 'parameter' внутри анонимного метода, лямбда-выражения или выражения запроса

Вот простой пример:

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();
}

Ответы на вопрос(4)

Ваш ответ на вопрос