我是VB新手。我正在阅读一些VB6代码,我遇到了声明语句,如
PQR_SSN(8) As Byte // this probably refers to social security number
TR_DATA(7) As TransactionDetail
在另一个文件中,定义了TransactionDetial
Public Type TransactionDetail
A(0) As Byte
B(0) As Byte
Comment(40) As Byte
//... etc
//...
End Type
TR_DATA(7)是否意味着它是一个“数组”,可以存储8个TransactionDetail实例?
另外,考虑评论(40)。我可以像这样访问评论的各个字节 -
Comment(3)
另外,假设我没有将所有41个字节分配给Comment。那剩下的字节是否包含垃圾值?
请帮忙。谢谢。
答案 0 :(得分:1)
是的,TR_DATA(7)是一个包含TransactionDetail类型的8个元素的数组。
是的,可以在显示时通过单个元素访问Comments数组。
未分配的元素可能包含垃圾值 - 我不相信它们 - 但我不记得VB是否有助于预先初始化变量。我希望它只会对用户有所帮助,它会将数值变量初始化为0,将固定长度的字符串初始化为全零,将对象初始化为空。
找到this web link,它为VB6中的数组提供了一些有用的指导。
还发现了这个:VB6 Variable Scope;其中说:
与许多其他语言不同,VB不允许您初始化 变量;这必须使用可执行语句来完成。然而, 每个变量都有一个默认的初始化值。数字 变量类型初始化为零,字符串初始化为“”, 布尔值初始化为False等。
答案 1 :(得分:0)
@Nick:是的,VB完全可以推测出来。
@CodeBlue:您的上一个问题表明您可能想要研究动态数组。如果是这样,我建议您特别调查Redim和Preserve语句。