コンパイラ エラー CS0838

更新 : 2007 年 11 月

エラー メッセージ

式のツリーは、多次元配列初期化子を含むことはできません。

式ツリー内の多次元配列は、配列初期化子を使用して初期化できません。

このエラーを解決するには

  • 式ツリーを作成する前に配列を作成して初期化します。

使用例

次の例は 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;
        }
    }
}

参照

概念

式ツリー