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

Vea también

Conceptos

Árboles de expresiones