我正在与数组斗争。
根据RB按钮,我有一些需要隐藏到in
或mm
的双变量。我不会遇到这些问题,但变量的数量很高,我试图将这些变量放入一个数组中,然后将它们分成多个或除以它们。但是当我尝试调用变量时,该值保持原始值。
我注意到数组的变量值不是变量本身。
有没有办法制作变量数组?我做过一些研究,但遗憾的是没有任何帮助。
以下是我正在做的事情的示例代码。
Public Shared Variable1, Varible2 as Double
Public Shared VarriablesArray() as Double
Variable1 = TextBox1.Text
Variable2 = TextBox2.Text
VariablesArray = {Variable1, Variable2}
For i = 0 to VariablesArray.GetUpperBound(0)
VariablesArray(i) = VariablesArray(i)*25.4
Next
直到这里它起作用,但是当我MsgBox
变量1时它与TextBox1.Text
的值相同而不是数学后的值。
答案 0 :(得分:1)
直到这里它才有效,但是当我使用MsgBox Variable1时它与TextBox1.Text的值相同,而不是数学后的值。
这是设计的。双值按值复制到数组中,因此当您对数组进行数学运算时,您不会更改原始变量,只会复制"复制"存储在数组中。
如果您希望将其重新导入Variable1
,则需要将其复制回来:
Variable1 = VariablesArray(0)
Variable2 = VariablesArray(1)
答案 1 :(得分:0)
里德的解释是正确的。您可以做的一件事是创建一个新的List
或Array
并将修改后的元素放在那里。这是一个例子。我使用List
,但您可以轻松使用Array
或其他内容。
Dim variable1 As Double = 25.0
Dim variable2 As Double = 17.62
Dim variablesList As List(Of Double) = {variable1, variable2}.ToList
Dim newList As New List(Of Double)
For Each item As Double In variablesList
item *= 25.4
newList.Add(item)
Next
Console.WriteLine("variable1: " & variable1)
Console.WriteLine("variable2: " & variable2)
Console.WriteLine(Environment.NewLine & "variablesList:")
For Each item As Double In variablesList
Console.WriteLine(item)
Next
Console.WriteLine(Environment.NewLine & "newList:")
For Each item As Double In newList
Console.WriteLine(item)
Next
Console.ReadLine()