您的位置:首页 > 编程语言 > VB

[VB.NET]新手问“动态数组”问题,很简单的~~~谢谢

2008-12-29 11:14 176 查看



<script type="text/javascript"><!--
google_ad_client = "pub-8333940862668978";
/* 728x90, 创建于 08-11-30 */
google_ad_slot = "4485230109";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>

新手问“动态数组”问题,很简单的~~~谢谢
如果不晓得要在一个数组中添加多少元素,就应使用动态数组,那么,如果我不知道多少元素,就先往里面添元素,然后根据我实际添加的元素来决定长度,该如何做呢?我问过个人,他说用
Dim a() As Integer
Dim b As Integer
For b = 1 To 100
a(b) = b
Next
ReDim a(b)
但是,这种方法依然是我知道了我要填写100个,才往里面添的。请问各位,有好的办法么?
__________________________________________________________________________
用ArrayList

*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码)

最新版本:20070212
http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html __________________________________________________________________________
List
__________________________________________________________________________
redim Preserve
__________________________________________________________________________
你的代码行不通,在ReDim a(b)之前不可能实现a(b) = b

通常有两种方法:

1、如果你知道数组元素最多不会超过N个
Dim a() As Integer
Dim i As Integer = 0
Redim a(n)
while 未满足你的完成条件时
a(i) = 值
i+=1
end while
ReDim Preserve a(i-1)
只在最后做一遍带值重分配,效率较高。

2、如果无法估计数组元素最高上限,又在任何时刻吝啬每一字节内存(移动设备开发?)
Dim a() As Integer
Dim i As Integer = 0
while 未满足你的完成条件时
ReDim Preserve a(i)
a(i) = 值
i+=1
end while
不断地带值重分配,效率自然就下来了
__________________________________________________________________________
谢谢~~~~~~~~~~~
__________________________________________________________________________
我也遇到的问题,解决了
http://community.csdn.net/Expert/topic/5333/5333341.xml?temp=.2984735 __________________________________________________________________________
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  vb.net integer list