Compilerfehler CS0832
Aktualisiert: November 2007
Fehlermeldung
Eine Ausdrucksbaumstruktur darf keinen Zuweisungsoperator enthalten.
An expression tree may not contain an assignment operator.
Ausdrucksbaumstrukturen behalten den Variablenstatus nicht bei und kennen keine Speicherorte.
So beheben Sie diesen Fehler
- Entfernen Sie den Zuweisungsoperator aus dem Lambda- bzw. Abfrageausdruck.
Beispiel
Im folgenden Beispielcode ist x wie in allen Lambda-Ausdrücken lediglich ein Eingabeparameter, der als Wert übergeben wird. Sein Wert kann in einer Ausdrucksbaumstruktur nicht geändert werden. In einem Delegatlambda ist eine Änderung des Werts möglich.
// cs0843.cs
using System;
using System.Linq;
using System.Linq.Expressions;
public class C
{
public static int Main()
{
Expression<Func<int, int>> e = x => x += 5; // CS0843
return 1;
}
}