vb.net 中使用动态数组,我唯一知道的好处是可以根据实际情况再次定义大小,这样一来更好利用内存空间。
但现在我有一问题,我声明了一个动态的数组a,然后在某一个函数内对其重定义大小并赋值,如Redim a(99)), 请问:
1、请问下次还可以对其重定义吗?如Redim a(199)
2、如果能重定义,那么请问先前定义好的100个元素还会有吗?
3、如果先前的100个元素还有,那是不是重新定义只是在这块内存上再加100个空间?
4、如果没有了,那先前的内存会被释放吗?
5、动态数组多次重新定义,会不会造成内存泄漏或未释放等问题?
小弟刚学Vb.net ,请前辈们指教一下!
vb.net 使用动态数组好不好?如果多次重定义有影响吗?急急急!!!
答案:4 悬赏:30 手机版
解决时间 2021-12-25 12:05
- 提问者网友:黑米和小志
- 2021-12-25 04:07
最佳答案
- 五星知识达人网友:英雄的欲望
- 2021-12-25 05:38
1.能
2.不在了,除非你附加Preserve关键字
3.如果附加了关键字Preserve,确实如此
4.会被释放,在.Net下,不用去关心内存释放问题
5.一般情况下不会,但在某些特殊情况下也有可能,什么情况下呢?我也不清楚,嘿嘿
2.不在了,除非你附加Preserve关键字
3.如果附加了关键字Preserve,确实如此
4.会被释放,在.Net下,不用去关心内存释放问题
5.一般情况下不会,但在某些特殊情况下也有可能,什么情况下呢?我也不清楚,嘿嘿
全部回答
- 1楼网友:廢物販賣機
- 2021-12-25 06:56
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
- 2楼网友:白昼之月
- 2021-12-25 06:50
已发
- 3楼网友:怙棘
- 2021-12-25 06:45
如果不要原来的数据,直接Redim a(199)
,所有数据清空,如果需要保留原来的数据,加上关键字preserve redim a(199)
,则保留原来数据,如此定义,不会造成内存泄露的
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯