0

我的代码是:

Dim Dbase() As String = Nothing

Dbase(0) = Db_ComboBox.Text

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

对于该赋值语句,我收到以下错误:“ Reference 'Dbase' has a value of 'Nothing'

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

4

3 回答 3

1

你需要改变这个:

Dim Dbase() As String = Nothing

为此(声明一个包含 1 个元素的数组):

Dim Dbase(0) As String

然后这条线将起作用:

Dbase(0) = Db_ComboBox.Text

如果您需要更改数组大小,可以根据需要使用Redim 或 Redim preserve

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

于 2013-02-13T20:28:43.857 回答
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)
于 2013-02-13T16:51:18.157 回答
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

于 2013-02-13T16:37:39.650 回答