vb中数组的初始化数组
问题:
ide
计划使用数组存储如下值:函数
"零分,班序,年名,序,组名,级名,总分3,总分5,总分9,总序,语序,数序,英序,物序,化序,政序,历序,地序,生序"
方法:
spa
在vb中数组初始化比较麻烦debug
1.标准作法:字符串
dim field(19) as string '须要手工计算下标上限 field(0)="零分" '逐行赋值 field(1)="班序" ... field(18)="生序" for i=0 to 19 debug.print field(i) next i
很啰嗦,一句一行赋值语句.
string
2.改进一下:it
Dim sFieldList As String Dim sField(1 to 19) As String '须要手工计算下标上限 Dim i As Integer Dim nBgn As Integer, nLen As Integer '注意尾部有',不可省略 sFieldList = "零分,班序,年名,序,组名,级名,总分3,总分5,总分9,总序,语序,数序,英序,物序,化序,政序,历序,地序,生序," nBgn = 1 For i = 1 To 19 nLen = InStr(nBgn, sFieldList, ",") sField(i) = Mid(sFieldList, nBgn, nLen - nBgn) nBgn = nLen + 1 debug.print sField(i) next i
上例将一个由","分隔的字符串构造出数组.class
3.再改进一下:List
Dim sFieldList As String Dim sField() As String '动态数组 Dim i As Integer '注意尾部',无关紧要 sFieldList = "零分,班序,年名,序,组名,级名,总分3,总分5,总分9,总序,语序,数序,英序,物序,化序,政序,历序,地序,生序," sField = Split(sFieldList, ",") For i = 0 To UBound(sField) - 1 debug.print sField(i) next i
上例使用一个split函数构造出数组.
结论:
使用split函数构造数组的值,快速,简洁.