选择数组 vb 中的特定项



我有一个带有年份数字的文本文件,然后是一行返回另一个数字。

Year 1991
8
Year 1990
14

一个数组携带年份数字,另一个数组携带其下方的数字。

strYear(intCount) = objReader.ReadLine()
dblSum(intCount) = Convert.ToDouble(objReader.ReadLine())

用户从组合框中选择年份,我将其输出,我只是不知道如何输出所选年份的明显数字。

您可以使用ComboBoxSelectedIndex作为数组的索引。

Dim sum = dblSum(myComboBox.SelectedIndex)

也就是说,与其这样做,不如将两个值添加到一个对象中,将这些对象放在列表中,然后将该列表绑定到ComboBox。 然后,您可以直接从ComboBoxSelectedValue 属性获取总和值。 例如

Dim items As New List(Of Tuple(Of String, Double))
'...
items.Add(Tuple.Create(objReader.ReadLine(), Convert.ToDouble(objReader.ReadLine()))
'...
With myComboBox
    .DisplayMember = "Item1"
    .ValueMember = "Item2"
    .DataSource = items
End With
'...
Dim sum = CDbl(myComboBox.SelectedValue)

在这里使用元组很方便,但如果您愿意,可以使用自己的类或结构。

当您将

文本文件中的交替行读取到两个数组(年份第一,数字第二)时,第二个数字数组的索引应该与第一个年份数组的索引相同。

如果使用第一个年份数组直接填充组合框,则组合的选定索引也将是与所选年份关联的数字数组的索引。

所以dblSum(myComboBox.SelectedIndex)会给你正确的数字。

最新更新