如何从组合框中为数组赋值

时间:2013-02-13 16:32:17

标签: vb.net

我的代码是:

Dim Dbase() As String = Nothing

Dbase(0) = Db_ComboBox.Text

我已将Dbase声明为数组并已分配NothingDb_ComboBox是一个组合框。

对于该赋值语句,我收到以下错误:“引用'Dbase'的值为'Nothing'

出现此错误的原因是什么,如何从组合框中获取值并将其保存在数组中?

3 个答案:

答案 0 :(得分:1)

你需要改变这个:

Dim Dbase() As String = Nothing

到此(声明一个1元素的数组):

Dim Dbase(0) As String

然后这一行将起作用:

Dbase(0) = Db_ComboBox.Text

如果您需要更改阵列大小,可以根据需要使用Redim or Redim preserve

如果您预计Dbase的内容经常更改,我会全身心地关注@ Joel关于切换到List(Of String)而不是手动处理数组大小的建议。

答案 1 :(得分:0)

Dbase()没有。看看这个例子:

cargoWeights = New Double(10) {}
atmospherePressures = New Short(2, 2, 4, 10) {}
inquiriesByYearMonthDay = New Byte(20)()() {}

这就是你声明数组的方式。

更多示例:http://msdn.microsoft.com/en-us/library/vstudio/wak0wfyt.aspx

答案 2 :(得分:0)

让我们来看看你的代码:

Dim Dbase() As String = Nothing

Dbase(0) = Db_ComboBox.Text

特别是第一行。第一行创建了一个可以引用数组的变量,但= Nothing部分明确地告诉它,“不要在这里创建一个真正的数组”。实际上,你有一个不指向任何东西的指针。

我到这里你真正需要的是一个List集合,你可以随着时间的推移附加:

Dim Dbase As New List(Of String)()
Dbase.Add(Db_ComboBox.Text)