将列表放入数组?

时间:2014-12-01 13:08:45

标签: arrays vb.net listbox

首先,我只想说我是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,因为这就是教授告诉我们要做的事情。

1 个答案:

答案 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