Re: [請益] 應該是動態宣告的問題
動態陣列的宣告方式及注意事項
Dim a() As Integer
ReDim a(100)           '0-100 共101個空間,初始值為零。
ReDim Preserve a(120)  '0-120 共121個空間,前101個空間值不變,
                       '新增的20個空間初始值為零。
ReDim a(1, 2)          '0-1,0-2 共2*3=6個空間,初始值為零。
ReDim Preserve a(1, 3) '0-1,0-3 共2*4=8個空間,原有的值不變,
                       '新加的2個空間初始值為零。
ReDim a(4, 5)          '0-1,0-5 共2*6=12個空間,初始值為零。
注意事項:
1) Dim 宣告時,不可給定上下限,會無法使用 Redim Preserve,但仍可使用 ReDim。
2) ReDim 宣告過,原有內容不會保留,全部歸零,且不可改變資料型態。
3) ReDim Preserve 只可改變最後一維的上限,下限不可,之前的維數亦不可。
   不可改變資料型態。
以下皆會發生錯誤:
ReDim Preserve a(5, 6)            '改變第一維的上限,執行階段錯誤。
ReDim Preserve a(5, 5)            '改變第一維的上限,執行階段錯誤。
ReDim Preserve a(4, 5) As String  '改變資料型態,編譯錯誤。
ReDim a(4, 5) As String           '改變資料型態,編譯錯誤。
ReDim Preserve a(4, 1 To 5)       '改變下限,執行階段錯誤。
※ 引述《eagerbee (資訊不對稱)》之銘言:
: 在程式中
: 因為我不知道會出現多少個我要的東東
: 所以我也就不知要設計多少的位子才夠用
: 那麼有什麼方法可以解決嗎?
: ex:
: 有十個籃球員
: 有助攻數,得分數和籃板數
: 要比較之後
: 會知道有幾個人是不會被比下去(就是兩人相比三項中有一項不會輸給別人)
: 大概是這類的問題
: 所以會出現不知要預設多少的位子來放
: 有那位板友可以給個建議該如何做呢?
: 感謝看完~
--
VB 程式設計   倉木麻衣       PTT 星爺板     行列輸入法
======================================================
Visual_Basic  MaiKuraki      Stephen        Array
--
※ 發信站: 批踢踢實業坊(ptt.cc) 
◆ From: 210.58.156.43
推
203.73.156.114 05/04, , 1F
203.73.156.114 05/04, 1F
Visual_Basic 近期熱門文章
PTT數位生活區 即時熱門文章