未初始化的结构成员的默认值

问题描述:

VB.NET中有一个Structure的未初始化成员的默认值吗?未初始化的结构成员的默认值

可能是一个基本问题,但我的谷歌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}} 

在VB.net,为小数和字节的默认值都为0,因此,当您运行Private Foo As FooStructure = New FooStructure系统分配的酒吧和巴兹价值0。这应该足以等于你的第二个例子。

+0

谢谢,继续检查每种类型的文档后,我意识到结构是值类型,所以我甚至不需要'= New FooStructure'我想。 :) – Toby

+1

'Buzz'是一个字节数组,数组是引用类型,所以'Buzz'将被初始化为'Nothing'/null。 – Mark

+0

@马克啊,谚语软膏飞!谢谢(到了我正在考虑将这些项目转换为类的点) – Toby