如何得知数组的实际元素个数

deterly 2012-04-18 01:13:18
如申请一数组为10个
从其它处得到Copy得到N(N<10)个元素
那我如何得知N?
...全文
146 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
王二.麻子 2012-04-19
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

从何而来不是重点,copy忽略都可以
譬如说
Dim Array(10)as string
Array(0)="a"
Array(1)="b"

这时候问,Array里面有几个真实元素?
Ubound、Length都不行
且,数组元素个数在程序中经常要变,所以Redim也不行
[/Quote]
Array是vb关键字
你想要的是,数组里面有多少个赋值过的元素...

恩,是你的程序赋值过的元素,系统赋值的不算...

看来只有你自己赋值的时候记录了,自己用集合,类什么的维护数组了,因为系统给一个元素赋值为初始值,后来你也可能给这个元素赋值,但是和初始值相同,这样光通过值就不能判断是不是你赋值过了,不知道是不是赋值过就不能判断是不是需要的元素.

ttsffgg 2012-04-18
  • 打赏
  • 举报
回复
真实元素 类型未定义 看不懂
东方之珠 2012-04-18
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
从何而来不是重点,copy忽略都可以
譬如说
Dim Array(10)as string
Array(0)="a"
Array(1)="b"

这时候问,Array里面有几个真实元素?
Ubound、Length都不行
且,数组元素个数在程序中经常要变,所以Redim也不行
[/Quote]
那就写一个函数,输入一个数组,在循环当中判断哪些元素不为空,看看有几个。
deterly 2012-04-18
  • 打赏
  • 举报
回复
从何而来不是重点,copy忽略都可以
譬如说
Dim Array(10)as string
Array(0)="a"
Array(1)="b"

这时候问,Array里面有几个真实元素?
Ubound、Length都不行
且,数组元素个数在程序中经常要变,所以Redim也不行

王二.麻子 2012-04-18
  • 打赏
  • 举报
回复
[Quote=引用楼主 的回复:]
如申请一数组为10个
从其它处得到Copy得到N(N<10)个元素
那我如何得知N?
[/Quote]

请问怎么Copy来的,没代码没真相.

7,763

社区成员

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

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