作者fumizuki (小狮)
看板Visual_Basic
标题Re: [请益] 应该是动态宣告的问题
时间Sat Apr 30 22:08:08 2005
动态阵列的宣告方式及注意事项
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
1F:推 eagerbee:真是太谢谢你了~ 203.73.156.114 05/04