2013-05-19 45 views
2

在VB.NET中,聲明數組的下列方式有什麼區別嗎?在VB.NET中聲明數組的不同方法

- Dim cargoWeights(10) as Double 

- cargoWeights = New Double(10) {} 

'這是兩個獨立的陳述。他們不應該一個接一個地執行。

據我所知,第一個只是聲明其保持值「無」,直到一些陣列對象被分配給它的數組變量。換句話說,它還沒有初始化。

但是第二個陳述呢? 「=」符號是否意味着該變量已經被初始化並且不會保留「Nothing」?它是否會指向一個包含11個默認Double值(0.0)的一維數組?

編輯:

根據MSDN網站:

下面的示例聲明一個數組變量,最初不指向任何陣列。

昏暗twoDimStrings(,)作爲字符串

(...)的變量twoDimStrings具有值沒有。

來源:http://msdn.microsoft.com/en-us/library/18e9wyy0(v=vs.80).aspx

+0

你的語句「第一個只聲明瞭一個數組變量,該數組變量保存值'Nothing',直到某個數組對象被分配給它。」是不正確的。你可以很容易地測試自己... –

+0

@MitchWheat那麼我應該如何理解我最後的報價? – Enrique

回答

3

兩個Dim cargoWeights(10) as DoublecargoWeights = New Double(10) {}和實際上將與設置爲默認類型值,每個項初始化double數組在這種情況下,0.0。 (或者,如果沒有String數據類型)

兩個語法之間的區別在於,所述第二一個你可以在陣列中從默認值初始化每個項目的值,以不同的,如:

cargoWeights = New Double(10) {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11} 

要聲明未初始化的數組,請使用Dim cargoWeights() As DoublecargoWeights = New Double() {}