• ベストアンサー

VB.NETにおける構造体の初期化

お世話になります。VB2005を使用しています。 C言語では、以下のように変数宣言時に配列の初期化が 出来ますが、VB.NETではできないのでしょうか? typedef struct{  short a1;  short a2; } TEST; int main(void) {  // ここのところをVBで実現したいです  TEST stTest[] = {{0, 10}, {1, 10}};  return 0; }

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

Visual Basic 9.0(VB2008)以降なら Array InitializerとかObject Initializer(System.Drawing.Pointのような構造体にも使えた)とか使えるんだけど、VB 2005だとVB 8.0しかできないかも。 'こういうの求めてたんだよね?多分 ' http://msdn.microsoft.com/en-us/library/ms364068%28VS.80%29.aspx#vb9overview_topic4 Option Explicit On Option Strict On Option Compare Binary Option Infer Off ' Class Q4518915 Shared Sub Main() Dim hoge As System.Drawing.Point() = { New System.Drawing.Point With {.X = 10,.Y = 10},New System.Drawing.Point With {.X = 10,.Y = 20}} End Sub End Class

y3k
質問者

お礼

ご回答ありがとうございます。 まさしく求めていたのはそういったものですが、 VB9.0以降の仕様のようで残念です。 ただ、C言語のように値だけを記載するという方法ではないので、 テーブルのレコードが多いと手間がかかったり、サイズが大きく なりますね。 VB8.0(2005)では出来ないということがわかりましたので、 終了とさせてください。ありがとうございました。

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2
y3k
質問者

お礼

ご回答ありがとうございます。 ご紹介していただいたURLですが、構造体の仕様として、 詳細に記載があるのですが、求めていた初期化の方法に ついては掲載されていませんでした。