Erreur du compilateur CS0838
Mise à jour : novembre 2007
Message d'erreur
Une arborescence d'expression ne peut pas contenir d'initialiseur de tableau à plusieurs dimensions.
An expression tree may not contain a multidimensional array initializer.
Les tableaux à plusieurs dimensions des arborescences d'expression ne peuvent pas être initialisés à l'aide d'un initialiseur de tableau.
Pour corriger cette erreur
- Créez et initialisez le tableau avant de créer l'arborescence de l'expression.
Exemple
L'exemple suivant génère l'erreur CS0838 :
// 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;
}
}
}