プロが教えるわが家の防犯対策術!

お世話になります。VB2005を使用しています。

C言語では、以下のように変数宣言時に配列の初期化が
出来ますが、VB.NETではできないのでしょうか?

typedef struct{
 short a1;
 short a2;
} TEST;

int main(void)
{
 // ここのところをVBで実現したいです
 TEST stTest[] = {{0, 10}, {1, 10}};
 return 0;
}

A 回答 (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 …

Option Explicit On
Option Strict On
Option Compare Binary
Option Infer Off
'
Class Q4518915
SharedSub 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
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
まさしく求めていたのはそういったものですが、
VB9.0以降の仕様のようで残念です。

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

お礼日時:2008/12/02 14:26

http://smdn.invisiblefulmoon.net/ikimasshoy/vbdo …
の解説はどうでしょう。
    • good
    • 0
この回答へのお礼

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

お礼日時:2008/12/02 14:30

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!