0

私が書いているプログラムには、多くの要因に応じて変化する多くの構造体があります。主なポイントは、これらの構造体がいくつ存在するかを予測できないため、プログラム自体がそれらを作成することです。

構造体は次のようになります。

public struct boardState
    {
        public int structid;
        public char[] state;
    }

明示的に名前を付けずに、プログラムにこれらの構造体に名前を付けるにはどうすればよいですか?

理想的には、作成された構造体の数を追跡する structNum と呼ばれる int があり、新しい構造体は structNum の値に基づいて名前が付けられますが、これができるかどうかはわかりません。方法またはより良い方法を提案できますか?

ありがとうございました。

4

2 に答える 2

1

取得する値の正確な数がわからない場合はList<boardState>、任意の長い値を保持できるを使用できます。実行時に動的に名前を付けることは、.NETの機能ではありません。コンパイルした後、実際には名前はありません。

var theList = new List<boardState>();
// add
theList.Add(new new boardState());
// get one
int id = theList[0].structid;
// iterate
foreach(var s in theList)
    // do something
int cnt = theList.Count;
于 2012-04-30T04:20:57.193 に答える
0

実行時に動的変数名を作成するには、リフレクションをいじくり回す必要があります。

List最も簡単な解決策は、構造体をまたは同様のコレクションに保持することです。

List<boardState> boardStates = new List<boardState>();
于 2012-04-30T04:21:27.190 に答える