未初始化的结构成员的默认值
问题描述:
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
。这应该足以等于你的第二个例子。
谢谢,继续检查每种类型的文档后,我意识到结构是值类型,所以我甚至不需要'= New FooStructure'我想。 :) – Toby
'Buzz'是一个字节数组,数组是引用类型,所以'Buzz'将被初始化为'Nothing'/null。 – Mark
@马克啊,谚语软膏飞!谢谢(到了我正在考虑将这些项目转换为类的点) – Toby