Sdílet prostřednictvím


Compilerfehler CS0838

Aktualisiert: November 2007

Fehlermeldung

Eine Ausdrucksbaumstruktur darf keinen Initialisierer mehrdimensionaler Arrays enthalten.
An expression tree may not contain a multidimensional array initializer.

Mehrdimensionale Arrays in Ausdrucksbaumstrukturen können nicht mithilfe eines Arrayinitialisierers initialisiert werden.

So beheben Sie diesen Fehler

  • Erstellen und initialisieren Sie das Array, bevor Sie die Ausdrucksbaumstruktur erstellen.

Beispiel

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

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

namespace TestNamespace
{
    class Test
    {
        static int Main()
        {
            
            Expression<Func<int[,]>> expr =
                () => new int[2, 2] { { 1, 2 }, { 3, 4 } }; // CS0838
            
            // try the following 2 lines instead
            int[,] nums = new int[2, 2] { { 1, 2 }, { 3, 4 } };
            Expression<Func<int[,]>> expr2 = () => nums; 

            return 1;
        }
    }
}

Siehe auch

Konzepte

Ausdrucksbaumstrukturen