CS0838 de erro do compilador

Mensagem de erro

Uma árvore de expressão não pode conter um inicializador de matriz multidimensional.

Matrizes multidimensionais em árvores de expressão não podem ser inicializados usando um inicializador de matriz.

Para corrigir este erro

  • Criar e inicializar a matriz antes de criar árvore de expressão.

Exemplo

O exemplo a seguir gera 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;
        }
    }
}

Consulte também

Conceitos

Árvores de Expressão