Der Parameter ref oder out kann nicht in Lambda-Ausdrücken verwendet werden

Warum können Sie in einem Lambda-Ausdruck keinen ref- oder out-Parameter verwenden?

Ich bin heute auf den Fehler gestoßen und habe eine Problemumgehung gefunden, war aber immer noch gespannt, warum dies ein Fehler beim Kompilieren ist.

CS1628: Der Parameter 'parameter' kann in einer anonymen Methode, einem Lambda-Ausdruck oder einem Abfrageausdruck nicht in ref oder out verwendet werden

Hier ist ein einfaches Beispiel:

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

Antworten auf die Frage(4)

Ihre Antwort auf die Frage