No se puede usar el parámetro ref o out en las expresiones lambda
¿Por qué no puedes usar un parámetro ref o out en una expresión lambda?
Encontré el error hoy y encontré una solución, pero aún tenía curiosidad de por qué esto es un error en tiempo de compilación.
CS1628: No se puede usar en el parámetro ref o out 'parámetro' dentro de un método anónimo, expresión lambda o expresión de consulta
Aquí hay un ejemplo simple:
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();
}