VB数组长度能修改吗?数组内容不变。

zhiluan7665 2019-06-17 01:30:03
现在有个特殊需求,假设数组(Arr)中保存三个元素。
在画面A中,用到数组.length的长度希望是1,在画面B中,用到数组.length的长度希望是3.
想法是,在画面切换的click处理里,将数据length修改为1,但是数组中内容还是三个元素。
切换到另一个画面时,在把length 修改为3.
(现在代码中很多用length做判断的,如果每处都修改,太费事。)
...全文
443 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
脆皮大雪糕 2019-06-21
  • 打赏
  • 举报
回复
题主说的是VB.net吧。 其实好几种做法 1、用redim preserve (不知道vb.net里面是不是这个写法)但长度1变3没问题数据不会丢,3变1肯定要有数据损失啊 2、用两个变量嘛 3、都是长度三,程序代码自己去判断场景根据场景去判断取几个数。举个例子,定义一个变量,myArrLength ,变化场景的时候你打算变换数组长度的地方改成 myArrLength = 1 或 myArrLength =3 。然后全代码替换 Arr.length 为 myArrLength
VB业余爱好者 2019-06-21
  • 打赏
  • 举报
回复
研究一下 ReDim Preserve
milaoshu1020 2019-06-17
  • 打赏
  • 举报
回复
用一个function代替直接使用length;
比如:

function GetLength(byref arr() as Variant) as integer
if ... then
GetLength = 1
else
GetLength = 3
end if
end function

使用的时候这样:
... = GetLength(Arr) ' 用来替换 Arr.length;

7,785

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧