關於動態數組的存儲方式

在VB.Net中可以使用動態數組,動態數組和普通的固定數組一樣,在內存中是連續的。

當使用ReDim語句重新定義數組的大小時,ReDim語句會釋放現有數組並且創建具有相同秩的新數組,最後根據該數組的類型爲其設置默認值。

在使用ReDim語句的同時,加上Preserve關鍵字的情況下,重新創建的數組會保留重新創建之前的數組中的值。

 

例:

 

Dim arr1() As Integer

ReDim arr1(0)

For i As Integer = 1 To 10

    ReDim Preserve arr1(i)

    arr1(i) = i

Next i

 

MSDN上的解釋:

數組替換。ReDim 釋放現有數組並且創建具有相同秩的新數組。新數組將替換數組變量中已釋放的數組。
不使用 Preserve 初始化。如果未指定 Preserve,ReDim 會將新數組的元素初始化爲它們數據類型的默認值。
使用 Preserve 初始化。如果指定 Preserve 修飾符,Visual Basic 會將這些元素從現有數組複製到新數組。

http://msdn.microsoft.com/zh-cn/library/w8k3cys2(v=VS.80).aspx

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章