我确信这是一个简单的问题,但我对 vb.net 很陌生,我正在努力弄清楚这一点。基本上在 VBA 中,您可以使用 Sub 来填充数组,只要数组已在模块中声明为 public,这可以在任何模块上看到。
Public reg12bound(1 To 5) As Double
Sub region12boundary()
'
' Initialize coefficients for boundary equation
'
reg12bound(1) = 348.05185628969
reg12bound(2) = -1.1671859879975
reg12bound(3) = 1.0192970039326E-03
reg12bound(4) = 572.54459862746
reg12bound(5) = 13.91883977887
'
End Sub
那么这可以使用下面的代码在另一个模块中看到
Private Function boundary23P(Temp)
Call region12boundary
boundary23P = (reg12bound(1) + reg12bound(2) * Temp + reg12bound(3) * (Temp ^ 2)) * 1000000
End Function
本质上,我希望在 VB.net 中重复此功能,但是当我尝试以下操作时
公共 reg12bound(5) 作为 Double
Sub region12boundary() ' ' Initialize coefficients for boundary equation ' ReDim reg12bound(5) reg12bound(1) = 348.05185628969 reg12bound(2) = -1.1671859879975 reg12bound(3) = 0.0010192970039326 reg12bound(4) = 572.54459862746 reg12bound(5) = 13.91883977887 ' End Sub
公共函数边界23P(ByVal Temp As Double)As Double
call region12boundary() boundary23P = (reg12bound(1) + reg12bound(2) * Temp + reg12bound(3) * (Temp ^ 2)) * 1000000 End Function
该数组填充了 0 而不是值。当我在函数中填充时,该功能似乎工作正常。但我宁愿避免这种情况,因为大多数函数都引用相同的 34 个变量数组,这些变量需要复制到每个函数中。
我也意识到 reg12bound(0) 值没有被填充,这在自包含版本中似乎不是问题,所以我假设这在外部也很好
编辑以添加对函数的调用