VB.NET中Structure
的未初始化成员是否有默认值?
可能是一个基本问题,但是我的Google foo只引发了一些人试图设置结构成员的默认值。
基本上我想知道它是否足够(在这种情况下,在模块中)
Private Structure FooStructure
Public Bar As Decimal
Public Buzz As Byte()
End Structure
Private Foo As FooStructure = New FooStructure
或者,如果需要正确初始化以保证成员的状态:
Private Foo As FooStructure = New FooStructure With {.Bar = 0, .Buzz = {0, 0}}
答案 0 :(得分:1)
在VB.net中,Decimals和Bytes的默认值均为0,因此,当您运行Private Foo As FooStructure = New FooStructure
时,系统会为Bar和Buzz指定值0
。这应该足够并且等于你的第二个例子。