Error del compilador CS0838
Actualización: noviembre 2007
Mensaje de error
Un árbol de expresión no puede contener un inicializador de matriz multidimensional.
An expression tree may not contain a multidimensional array initializer.
Las matrices multidimensionales en árboles de expresión no se pueden inicializar mediante un inicializador de matriz.
Para corregir este error
- Cree e inicialice la matriz antes de crear el árbol de expresión.
Ejemplo
El ejemplo siguiente genera el error 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;
}
}
}