运行程序后,我显示Power1
的值为零,为什么?
这里是代码;
Dim Guc1....Guc59 as decimal
Guc1=Val(TextBox5.Text)*Val(Textbox98.Text)
.
.
.
Guc59=Val(TextBox42.Text)*Val(Textbox12.Text)
For i = 1 To 59 Step 2
Dim txt As TextBox = CType(TabControlPanel1.Controls("TextBoxX" & i), TextBox)
Dim guc As Decimal = CType(("Guc".ToString & i), Decimal)
Hız1 = Val(txt.Text) * RollinRadius * 3.14 * 3.6 / (Val(TextBox1.Text) * Val(TextBox33.Text) * 30)
Power1 = guc * 3.14 / (30 * 1000) *2 *3)
ListBox2.Items.Add(Power1)
Next
答案 0 :(得分:0)
Power1
为零,因为guc
目前始终为零。您无法按照自己的名义访问变量,就像您尝试做的那样。 "Guc" & i
只会生成一个普通字符串,由于Guc
不是数字,因此无法转换。通过名称动态访问变量的唯一方法是使用Reflection。
但是,您尝试实现目标的最佳方式是使用List(Of T)
或Array:
Dim Guc As Decimal = New Decimal(59 - 1) {} '59 - 1 = 59 items.
...
Dim gucx As Decimal = Guc(i - 1)
...
Power1 = gucx * 3.14 / (30 * 1000) * 2 * 3