Vb.net 初始化结构
我正在尝试将值设置为Vb.net 初始化结构,vb.net,structure,Vb.net,Structure,我正在尝试将值设置为 Public Enum eSourceMode AUS = 0 EIN = 1 End Enum Public Structure tSourceChannel Dim OnOff() As eSourceMode Dim chan_nr As Short End Structure 结果应为,例如: "gSources0",1,0,1,1,1,1,1 "gSources1",1,1,1,1,1,1,1 "gSources2"
Public Enum eSourceMode
AUS = 0
EIN = 1
End Enum
Public Structure tSourceChannel
Dim OnOff() As eSourceMode
Dim chan_nr As Short
End Structure
结果应为,例如:
"gSources0",1,0,1,1,1,1,1
"gSources1",1,1,1,1,1,1,1
"gSources2",1,1,1,1,1,1,1
"gSources3",1,1,1,1,1,1,1
这里声明
OnOff
是一个数组
gSources(0).OnOff(0) = 1 , gSources(0).OnOff(1) = 0
但您从未定义数组的大小或为数组分配内存
Dim OnOff() As eSourceMode
请在使用
gSources
的位置发布代码。您从哪里获得异常?当我尝试在循环中设置gSources(0)。OnOff(0)=eSourceMode.EIN时,您需要调整OnOff数组的大小,然后再为其赋值。或者,可以将结构设置为类,并显式声明数组的大小。
Dim OnOff() As eSourceMode
'...
Dim hehe As Integer = gSources.Count
'Specify array size
Redim gSources(i).OnOff(gNoiseBands.GetUpperBound(0) - gNoiseBands.GetLowerBound(0))
For j = gNoiseBands.GetLowerBound(0) To gNoiseBands.GetUpperBound(0) Step 1
'...
Next j