-1

ColourStringという単純なクラスのオブジェクトがあります。

クラスのジャグ配列を処理するために、再帰的な順列ルーチンを設定しようとしています。

    static ColourString[][] perm2(int a, ColourString[][] x)
    {
        ColourString[][] retval = new ColourString[0][];
        foreach (ColourString[] p in x[a])
        {
            foreach (ColourString[] p2 in perm2(a + 1, x))
            {
                // do some stuff here to compare the strings in the colourString[] objects
            }
         }
         return retval;
     }

私のコードは私に次のエラーを与えます:

エラー1タイプ「Test.Form1.ColourString」を「Test.Form1.ColourString[]」に変換できません。

私は何を間違っているのですか?

4

2 に答える 2

0

他のコメントはすでに問題を特定していますが、具体的に説明させてください...

関数プロトタイプによると、xはColourString [] []型です。
したがって、x[a]はColourString[]型です。
外側のループは、ColourString[]型の列挙型に属するColourString[]型のオブジェクトを反復処理しようとしますが、これは不可能です。 。x [a]の要素は、ColourString []ではなく、ColourStringになります。

于 2013-01-28T18:49:45.887 に答える
0

x[a]は であるColourString[]ため、 は ではなく である必要がありpます。foreachColourStringColourString[]

于 2013-01-28T18:44:17.237 に答える