Structure是Value type,程式執行時資料儲存在stack中
因此在method中使用structure時,事實上是建立該structure的副本,因此改動這個數值並不會影響本來的資料,如︰
Structure TotalTime Dim tt As String End Structure Dim result(100) as TotalTime '定義result為TotalTime陣列 For Each a As TotalTime In result a.tt=a.tt+1 Next此時,result陣列中的數值並不會改變,因為Structure是Value type,所以For...Each時是複製一個result的副本。
因此需將result定義為class才可正確獲得預期效果。
但是同樣需要注意的是,因為Class是reference type,必須以New關鍵字一一將陣列中的元素定義為執行個體(物件)
沒有留言:
張貼留言