未初始化的struct成员的默认值

时间:2017-04-24 16:43:56

标签: vb.net data-structures

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}}

1 个答案:

答案 0 :(得分:1)

在VB.net中,Decimals和Bytes的默认值均为0,因此,当您运行Private Foo As FooStructure = New FooStructure时,系统会为Bar和Buzz指定值0。这应该足够并且等于你的第二个例子。