2017-04-24 113 views
0

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

回答

1

在VB.net,爲小數和字節的默認值都爲0,因此,當您運行Private Foo As FooStructure = New FooStructure系統分配的酒吧和巴茲價值0。這應該足以等於你的第二個例子。

+0

謝謝,繼續檢查每種類型的文檔後,我意識到結構是值類型,所以我甚至不需要'= New FooStructure'我想。 :) – Toby

+1

'Buzz'是一個字節數組,數組是引用類型,所以'Buzz'將被初始化爲'Nothing'/null。 – Mark

+0

@馬克啊,諺語軟膏飛!謝謝(到了我正在考慮將這些項目轉換爲類的點) – Toby