vb怎么定义字符串数组,怎么赋值?

2024-11-09 10:21:56
推荐回答(5个)
回答1:

VB定义字符串数组与定义其它数组没大的区别,只是其赋值一般需要通过循环来获取来自某个特定来源的字符串集合。不然其数组任一元素其值都为空字符串。

  1. Dim strSj(100) As String,本句声明一个下标为0,上标为100的共有101个元素的字符串数组。

  2. 如字符串数组大小不确定,可先声明动态数组。

    Dim strSj() As String

    再用 ReDim 语句分配实际的元素个数。ReDim 语句只能出现在过程中。

    ReDim 语句支持这样的语法,它与固定数组中使用的语法相同。对于每一维数,每个 ReDim
    语句都能改变元素数目以及上下界。但是,数组的维数不能改变。

  3. 字符串数组赋值可由For Next循环从数据表中获取字符串数据,或者由

    Split函数从已知一长串有固定分割字符(如,或空格字符等)获取一维字符串数组。

  4. For...Next 语句,以指定次数来重复执行一组语句。

  5. Split函数。返回一个下标从零开始的一维数组,它包含指定数目的子字符串。

回答2:

  1. 定义字符串数组: dim aa(x) as string '其中X是数组里元素数量,X从0开始。

  2. 赋值: 一般用循环,如: For ...Next语句 。

每次使用ReDim语句都会使原来数组中的值丢失,可以在ReDim语句后加Preserve参数来保留数组中的数据,但使用Preserve只能改变最后一维的大小,前面几维大小不能改变。 

使用动态数组的优点是根据用户需要,有效地利用存储空间,它是在程序执行到ReDim语句时才分配存储单元,而静态数组是在程序编译时分配存储单元。

回答3:

定义字符串数组和负值有两种方式:
方式1:
Dim StrArray()
StrArray = Array("星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日")

方式2:
Dim StrArray(6) As String
StrArray(0) = "星期一"
StrArray(1) = "星期二"
StrArray(2) = "星期三"
StrArray(3) = "星期四"
StrArray(4) = "星期五"
StrArray(5) = "星期六"
StrArray(6) = "星期日"

调用数组值
Dim Str As String
Str = StrArray(2) '取数组第三个值
Str = StrArray(6) '取数组最后一个值
Str = StrArray(0) '取数组第一个值

=======================================================================

定义以及赋值一般写在程序的前面。如果是公共数组,放在代码最前面;如果是子程序数组,则放在子程序定义的后一行,比如:
'公用数组
Dim StrArray0(6) As String

Private Sub Command2_Click()
'子程序数组定义赋值方式1
Dim StrArray()
Dim Str As String
StrArray = Array("星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日")

Str = StrArray(2) '子程序数组取值
Str = StrArray0(2) '公共数组取值

End Sub

Private Sub Command3_Click()
'子程序数组定义赋值方式2
Dim StrArray(6) As String
Dim Str As String

StrArray(0) = "星期一"
StrArray(1) = "星期二"
StrArray(2) = "星期三"
StrArray(3) = "星期四"
StrArray(4) = "星期五"
StrArray(5) = "星期六"
StrArray(6) = "星期日"

Str = StrArray(2) '子程序数组取值
Str = StrArray0(2) '公共数组取值

End Sub

Private Sub Form_Load()
'公用数字赋初始值
StrArray0(0) = "星期一"
StrArray0(1) = "星期二"
StrArray0(2) = "星期三"
StrArray0(3) = "星期四"
StrArray0(4) = "星期五"
StrArray0(5) = "星期六"
StrArray0(6) = "星期日"

End Sub

回答4:

VB没啥难度啊
定义: dim aa(x) as string '其中X是数组里元素数量,X从0开始
调用: b=aa(0) ’赋值数组里第一个元素给b
赋值: 一般用循环,如: For ...Next语句

回答
dim arr() as string
arr(i) = "abcd"

上边少一条语句,你用的arr() 定义的是个动态数组,哥们看你语句像是学过C的,是把C的一些东西带到B来了
修改:
dim arr() as string
arr() = "abcd"
再试一下吧

回答5:

dim arr() as string
arr(i) = "abcd"
调用 比如 想获得数组的上标 t = ubound(arr)
写在你的过程里 比如:
sub test()
dim arr() as string
arr(0) = "abcd" ‘数组第一个为 abcd
arr(ubound(arr))="dfasudfhuashuiof" '数组最后一个
end sub
还有这个是定义静态的数组