永发信息网

vb.net 使用动态数组好不好?如果多次重定义有影响吗?急急急!!!

答案:4  悬赏:30  手机版
解决时间 2021-12-25 12:05
vb.net 中使用动态数组,我唯一知道的好处是可以根据实际情况再次定义大小,这样一来更好利用内存空间。
但现在我有一问题,我声明了一个动态的数组a,然后在某一个函数内对其重定义大小并赋值,如Redim a(99)), 请问:
1、请问下次还可以对其重定义吗?如Redim a(199)
2、如果能重定义,那么请问先前定义好的100个元素还会有吗?
3、如果先前的100个元素还有,那是不是重新定义只是在这块内存上再加100个空间?
4、如果没有了,那先前的内存会被释放吗?
5、动态数组多次重新定义,会不会造成内存泄漏或未释放等问题?
小弟刚学Vb.net ,请前辈们指教一下!
最佳答案
1.能
2.不在了,除非你附加Preserve关键字
3.如果附加了关键字Preserve,确实如此
4.会被释放,在.Net下,不用去关心内存释放问题
5.一般情况下不会,但在某些特殊情况下也有可能,什么情况下呢?我也不清楚,嘿嘿
全部回答

vb.net已经去掉了控件数组这个类,不过有个代替该方式的一个属性:tag,你可以把这些关联的tag属性设置为同一标记,如:a。然后遍历所有的checkbox并且tag为a的则选定:

protected sub chkall_click()

    for each ctl as control in me.controls  ''如果checkbox在一个容器里,比如groupbox,那可以用groupbox.controls     if ctl.gettype().name.tolower() = "checkbox" then     ctype(ctl, checkbox).checked = checkbox3.checked     end if     next

end sub

已发
如果不要原来的数据,直接Redim a(199) ,所有数据清空,如果需要保留原来的数据,加上关键字preserve redim a(199) ,则保留原来数据,如此定义,不会造成内存泄露的
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
含有褒义的词语
已知点A(1-a,5)与点B(3,b)关于y轴对称
日版iPhone为什么要开数据漫游才可以上网
描写秋天田野玉米的好词好句必须是玉米
单选题肌腹两端白色的部分叫肌腹两端白色的部
100的人民币三连号各什么地方兑换
有这样一道题:''计算(2x的3次方-
微店买了模板怎么装修
男人开什么颜色车好
夫水,智者乐也。今是溪独见辱于愚,何哉?盖
奥利司他对减肥有用吗
下列说法中正确的是A.在6与7之间的小数有无数
为什么没有一次方根
简网改版后所谓注重人,关注用户也是通过微博
闲置损坏能做报废理由吗?
推荐资讯
怎么清洗汽油味道??
ps动图储存颜色表 保存后变成黑白色了 怎么设
如何评价广告效果
枸杞可以泡红茶吗
美国人口有多少
为什么不能打新股
端着装满水的杯子走如何不让水洒出来
桐乡阿能面店地址在哪,我要去那里办事
干冲边防派出所流动人口管理站办公地址在什么
白银和白铜怎么区别?
填空题人体的生命活动主要是受到________的调
想知道立夏为什么一定要吃蛋?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?