回覆列表
-
1 # 使用者734098442683111
-
2 # 使用者470217418355891
VB中動態陣列就可以在任何時候改變大小,靜態陣列只能夠預先設定大小,過度使用這種方法,會導致記憶體的操作環境變慢。VisualBasic中有兩種型別的陣列:固定大小的陣列— 它總是保持同樣的大小,以及在執行時大小可以改變的動態陣列。在VisualBasic中,動態陣列最靈活、最方便,有助於有效管理記憶體。例如,可短時間使用一個大陣列,然後,在不使用這個陣列時,將記憶體空間釋放給系統。如果不用動態陣列,就要宣告一個數組,它的大小盡可能達到最大,然後再抹去那些不必要的元素。但是,如果過度使用這種方法,會導致記憶體的操作環境變慢。
-
3 # 使用者4296540932459
我感覺這個回答很好.定義靜態變數,相對的用“dim”定義一般變數。 如果是定義靜態變數的話,當事件結束後,變數的值依然是儲存了過程結束時的值。 譬如: 動態變數的話: Private Sub Command1_Click() Dim n As Integer n = n + 1 Print n End Sub (每次進入的時候n的值都重新整理為0,所以每次列印的結果都是1) 如果是靜態變數的話: Private Sub Command1_Click() Static n As Integer n = n + 1 Print n End Sub (每次完成單擊事件後,值被儲存了,所以每次列印的結果都增加1)
靜態變數指的是在過程結束後仍然保留變數的值。動態就是指一個過程結束後,下次執行該過程,變數又回到初始值。舉個簡單的: PrivateStaticFunctionFa(nAsInteger) Dima=a+n Fa=a EndFunction PrivateSubCommand1_Click() DimiAsInteger Fori=1To5 Print"Sum";i&"="&Fa(i) Nexti EndSub 如果不將區域性變數定義為靜態的話,a的初值就一直是0,執行結果就都一樣。定義成靜態變數,每次執行都在上次執行的值的基礎上再加,每次執行a的初始值就是上次執行的結果。