首先,我只想说我是vb.net的初学者,只是编码。 如果可能的话,我们的教授可能希望我们使用最简单的方法 因此,请不要建议花哨和抽象的方法来做我正在尝试做的事情。 谢谢:))
所以我有一个列表框。没有固定数量的项目。 我可以输入尽可能多的数字 我想将该列表框中的所有项目转换为数组 但显然,你看不到阵列。 所以我做了它,使它在标签上打印出来。 但只有输入列表框的最后一个数字才出现。
将列表框放入数组的代码是:
Dim i As Integer
For i = 0 To lstbxInput.Items.Count
dblarray(i) = CDbl(lstbxInput.Items(i))
Next i
在这个子中,dblarray as double被用作参考参数。
为了打印出数组,我使用了这段代码:
Dim DblArray(lstbxInput.Items.Count - 1) As Double
getNumbers(DblArray)
lblLrgAns.Text = DblArray(lstbxInput.Items.Count - 1).ToString
我不完全理解Byref,希望我以正确的方式使用它。 我在那里使用了dblarray,因为这就是教授告诉我们要做的事情。
答案 0 :(得分:0)
根据您的代码,您可以获得您想要的数组(DblArray
)
Dim DblArray(lstbxInput.Items.Count - 1) As Double
getNumbers(DblArray)
现在关于你的问题:
但只输入列表框中的最后一个数字。
这是因为这种语法
lblLrgAns.Text = DblArray(lstbxInput.Items.Count - 1).ToString
您只接受DblArray
的最后一项,即DblArray(lstbxInput.Items.Count - 1)
。您需要获得的是DblArray(0)
(第一项),DblArray(1)
(第二项),DblArray(2)
(第三项),......,直至DblArray(lstbxInput.Items.Count - 1)
(最后一项)。假设您要将所有DblArray
项目分配到逗号分隔的lblLrgAns.Text
,您需要一个如下所示的循环
Dim i As Integer
For i = 0 To DblArray.Length - 1
lblLrgAns.Text = lblLrgAns.Text & DblArray(i).ToString
' add a comma unless it's the last index
If (i < DblArray.Length - 1)
lblLrgAns.Text = lblLrgAns.Text & ", "
End If
Next i