2015年8月18日 星期二

[VB6] 陣列的長度宣告方式

Share it Please
在VB6中,我們會以 Dim 變數名稱 As 資料型態的方式來宣告變數
其實跟C#宣告變數的差別不大,只在於語法上看起來不太一樣而已

但是在陣列的宣告上,兩者針對陣列長度的宣告方式卻有些不同。舉例來說,
如果我們要宣告一個長度為5的整數陣列,
在C#中是這樣寫的:

int array1 = new int[5];

表示array1這個陣列的長度為5,可以存放 array1[0] ~ array1[4] 這5個陣列元素
宣告時給的參數是指陣列長度

但一樣的陣列在VB6裡會是這麼宣告的

Dim array1(4) As Integer

各位有發現不同的地方嗎,在VB中這樣寫的意思表示這個陣列
可以存放 array1[0] ~ array1[4] 這5個陣列元素
宣告時放的參數則是指此陣列的最大索引值

雖然是個小地方,但若沒弄清楚卻可能有機會造成迴圈讀取到null或者是
array out of bound的exception,因此紀錄一下以提醒自己 :))


References:
1. https://msdn.microsoft.com/zh-tw/library/wak0wfyt.aspx
2. https://msdn.microsoft.com/zh-tw/library/0a7fscd0.aspx
3. http://tr.ilvs.ilc.edu.tw/~onlinevb/vb/14.htm

沒有留言:

張貼留言

Followers

Follow The Author