我有一个带有年份数字的文本文件,然后是一行返回另一个数字。
Year 1991
8
Year 1990
14
一个数组携带年份数字,另一个数组携带其下方的数字。
strYear(intCount) = objReader.ReadLine()
dblSum(intCount) = Convert.ToDouble(objReader.ReadLine())
用户从组合框中选择年份,我将其输出,我只是不知道如何输出所选年份的明显数字。
您可以使用ComboBox
的SelectedIndex
作为数组的索引。
Dim sum = dblSum(myComboBox.SelectedIndex)
也就是说,与其这样做,不如将两个值添加到一个对象中,将这些对象放在列表中,然后将该列表绑定到ComboBox
。 然后,您可以直接从ComboBox
的 SelectedValue
属性获取总和值。 例如
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)
会给你正确的数字。