首先,我只想说我是 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,因为这就是教授告诉我们要做的。
根据下面的代码,您已经得到了您想要的数组(
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
Dim t$ '(作为文本) Dim i% '(作为整数) 'dim t$,i%' 也有效 对于 doublearray 中的每个 i t=str(i) 下一个 '另外 t=format(i,"##00.00") 也很好
'也 将 t1 变暗为列表(字符串) 对于 darray 中的每个 i t1.add(str(i)) 下一页