Compilerfehler CS0834Compiler Error CS0834

Ein Lambdaausdruck muss über einen Ausdruckskörper verfügen, um in eine Ausdrucksbaumstruktur konvertiert zu werden.A lambda expression must have an expression body to be converted to an expression tree.

Bei Lambdas, die in Ausdrucksbaumstrukturen übersetzt werden, muss es sich um Ausdruckslambdas handeln. Anweisungslambdas und anonyme Methoden können nur in Delegattypen konvertiert werden.Lambdas that are translated to expression trees must be expression lambdas; statement lambdas and anonymous methods can only be converted to delegate types.

So beheben Sie diesen FehlerTo correct this error

  1. Entfernen Sie die Anweisung aus dem Lambdaausdruck.Remove the statement from the lambda expression.

BeispielExample

Im folgenden Beispiel wird der Fehler CS0834 generiert:The following example generates CS0834:

// cs0834.cs  
using System;  
using System.Linq;  
using System.Linq.Expressions;  

public class C  
{  
    public static int Main()  
    {  
        Expression<Func<int, int>> e = x => { return x; }; // CS0834  
    }  
}