Compilerfehler CS0834

Ein lambda-Ausdruck mit einem Anweisungstext kann nicht in eine Ausdrucksbaumstruktur konvertiert werden.

Bei Lambdas, die in Ausdrucksbaumstrukturen übersetzt werden, muss es sich um Ausdruckslambdas handeln. Anweisungslambdas und anonyme Methoden können nur in Delegattypen konvertiert werden.

So beheben Sie diesen Fehler

  • Entfernen Sie die Anweisung aus dem Lambdaausdruck.

Beispiel

Durch das folgende Beispiel wird der Fehler CS0834 ausgelöst:

// 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
    }
}