精華區beta Visual_Basic 關於我們 聯絡資訊
動態陣列的宣告方式及注意事項 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
eagerbee:真是太謝謝你了~ 203.73.156.114 05/04