其實跟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
沒有留言:
張貼留言