-1

(これが必要な実際の機能はありませんが、ただ疑問に思っていました。)

を渡すこの関数を想像してくださいbool[,]。これbool[,]は、状況に応じてgrid1またはと呼ばれます。grid2

私は次のようなことができるかどうか疑問に思っていました:

void CheckGrid(bool[,] grid, int number)
{
    for (int x = 0; x <= gridXmax - 1; x++)
    {
        for (int y = 0; y <= gridYmax - 1; y++)
        {
            if(grid + number[x,y]) //this will check against grid1 or grid2, depending on int number
                //logic depends on whether it's grid1 or grid2
        }
    }
}

他の言語の質問から推測すると、おそらく不可能です。しかし、あなたは決して知りません:)

ここで明らかな何かが欠けている可能性は十分にあります-私は本当に経験がありません。

4

5 に答える 5

3

グリッドの配列を作成し、数値を使用してそれを確認できます。

List<bool[,] grids = new List<bool[,]>();

それから

if (grids[number][x,y])...
于 2012-02-10T20:44:01.023 に答える
2

いいえ -オブジェクトには名前がなく、変数だけに名前があります。そのため、配列への参照を渡してもgrid1、引数に呼び出された変数を使用したのか、 という変数を使用したのかをメソッドが知る方法はありませんgrid2

通常、このような質問がある場合、リフレクションを使用してメンバー変数に名前でアクセスできるという回答が含まれますが、一般的にそうするのはお勧めできません。また、コレクションである単一の変数を使用する方が良い考えです。ただし、あなたの質問では、とにかく何をしようとしているのかはかなり不明です...「オブジェクトの名前」を決定しようとしている場合、それ一般的に実行不可能です。

于 2012-02-10T20:42:09.227 に答える
1

grid1またはgrid2のどちらを扱っているかに応じてロジックを更新できるようにするフラグを関数に渡す方がよいでしょう。

于 2012-02-10T20:42:59.067 に答える
0

$var が grid1 を保持し、$grid1 に変わるこの $$var のようなものを使用する場合、この種のものが PHP に存在します。

私が提案できる唯一のことは、辞書でキー/値のペアを使用し、数値を「グリッド」に連結することでした

于 2012-02-10T20:43:08.400 に答える
0

配列にディメンションを追加します。

void CheckGrid(bool[,,] grid, int number)
{
    for (int x = 0; x <= gridXmax - 1; x++)
    {
        for (int y = 0; y <= gridYmax - 1; y++)
        {
            if(grid[number, x,y]) //this will check against grid1 or grid2, depending on int number
                //logic depends on whether it's grid1 or grid2
        }
    }
}  
于 2012-02-10T20:44:03.833 に答える