Arrays 选择数组中的特定项

Arrays 选择数组中的特定项,arrays,vb.net,file-handling,Arrays,Vb.net,File Handling,我有一个带有年份号的文本文件,一行返回,然后是另一个数字 Year 1991 8 Year 1990 14 一个数组携带年份号,另一个数组携带其下的数字 strYear(intCount) = objReader.ReadLine() dblSum(intCount) = Convert.ToDouble(objReader.ReadLine()) 用户从组合框中选择年份,我将其输出。我只是不知道如何输出所选年份的表观数字 您可以使用组合框的SelectedIndex作为数组的索引 Dim

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

Year 1991
8
Year 1990
14
一个数组携带年份号,另一个数组携带其下的数字

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

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

您可以使用
组合框的
SelectedIndex
作为数组的索引

Dim sum = dblSum(myComboBox.SelectedIndex)
也就是说,与其这样做,为什么不将两个值添加到一个对象中,将这些对象放入列表中,然后将该列表绑定到
组合框
。然后,您可以直接从组合框
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)

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

您可以使用组合框的
SelectedIndex
作为数组的索引

Dim sum = dblSum(myComboBox.SelectedIndex)
也就是说,与其这样做,为什么不将两个值添加到一个对象中,将这些对象放入列表中,然后将该列表绑定到
组合框
。然后,您可以直接从组合框的
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)
将为您提供正确的数字。

当您将文本文件中的交替行读入两个数组(首先是年份,然后是数字)时,第二个数字数组中的索引应与第一个年份数组中的索引相同

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

因此
dblSum(myComboBox.SelectedIndex)
将为您提供正确的数字