将列表放入数组?

问题描述 投票:0回答:2

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

arrays vb.net listbox
2个回答
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

0
投票

Dim t$ '(作为文本) Dim i% '(作为整数) 'dim t$,i%' 也有效 对于 doublearray 中的每个 i t=str(i) 下一个 '另外 t=format(i,"##00.00") 也很好

'也 将 t1 变暗为列表(字符串) 对于 darray 中的每个 i t1.add(str(i)) 下一页

© www.soinside.com 2019 - 2024. All rights reserved.