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