vb中数组的初始化
问题:
计划使用数组存储以下值:
- "零分,班序,年名,序,组名,级名,总分3,总分5,总分9,总序,语序,数序,英序,物序,化序,政序,历序,地序,生序"
方法:
在vb中数组初始化比较麻烦
1.标准做法:
- dimfield(19)asstring'需要手工计算下标上限
- field(0)="零分"'逐行赋值
- field(1)="班序"
- ...
- field(18)="生序"
- fori=0to19
- debug.printfield(i)
- nexti
很�嗦,一句一行赋值语句.
2.改进一下:
- DimsFieldListAsString
- DimsField(1to19)AsString'需要手工计算下标上限
- DimiAsInteger
- DimnBgnAsInteger,nLenAsInteger
- '注意尾部有',不可省略
- sFieldList="零分,生序,"
- nBgn=1
- Fori=1To19
- nLen=InStr(nBgn,sFieldList,",")
- sField(i)=Mid(sFieldList,nBgn,nLen-nBgn)
- nBgn=nLen+1
- debug.printsField(i)
- nexti
上例将一个由","分隔的字符串构造出数组.
3.再改进一下:
- DimsFieldListAsString
- DimsField()AsString'动态数组
- DimiAsInteger
- '注意尾部',可有可无
- sFieldList="零分,"
- sField=Split(sFieldList,")
- Fori=0ToUBound(sField)-1
- debug.printsField(i)
- nexti
上例使用一个split函数构造出数组.
结论: