- ベストアンサー
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; }
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
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
その他の回答 (1)
- imogasi
- ベストアンサー率27% (4737/17069)
お礼
ご回答ありがとうございます。 ご紹介していただいたURLですが、構造体の仕様として、 詳細に記載があるのですが、求めていた初期化の方法に ついては掲載されていませんでした。
お礼
ご回答ありがとうございます。 まさしく求めていたのはそういったものですが、 VB9.0以降の仕様のようで残念です。 ただ、C言語のように値だけを記載するという方法ではないので、 テーブルのレコードが多いと手間がかかったり、サイズが大きく なりますね。 VB8.0(2005)では出来ないということがわかりましたので、 終了とさせてください。ありがとうございました。