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 neugierig, warum dies ein Fehler beim Kompilieren ist.
CS1628 : Der Parameter 'parameter' in ref oder out kann nicht in einer anonymen Methode, einem Lambda-Ausdruck oder einem Abfrageausdruck 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();
}