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