私が持っているコードは次のとおりです。
Dim Dbase() As String = Nothing
Dbase(0) = Db_ComboBox.Text
私はDbase配列として宣言し、割り当てられたNothing、Db_ComboBoxコンボボックスです。
その割り当てステートメントに対して、次のエラーが発生します:"参照'Dbase'の値は'Nothing' "
このエラーの理由は何ですか?コンボボックスから値を取得して配列に保存するにはどうすればよいですか?
私が持っているコードは次のとおりです。
Dim Dbase() As String = Nothing
Dbase(0) = Db_ComboBox.Text
私はDbase配列として宣言し、割り当てられたNothing、Db_ComboBoxコンボボックスです。
その割り当てステートメントに対して、次のエラーが発生します:"参照'Dbase'の値は'Nothing' "
このエラーの理由は何ですか?コンボボックスから値を取得して配列に保存するにはどうすればよいですか?
これを変更する必要があります:
Dim Dbase() As String = Nothing
これに(1つの要素の配列を宣言する):
Dim Dbase(0) As String
そして、この行は機能します:
Dbase(0) = Db_ComboBox.Text
配列サイズを変更する必要がある場合は、必要に応じて、 RedimまたはRedimpreserveを使用できます。
の内容が頻繁に変更されることが予想される場合は、配列サイズを手動で処理するのではなく、にDbase切り替えることについての@Joelの提案に賛成です。List(Of String)
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
あなたのコードを見てみましょう:
Dim Dbase() As String = Nothing
Dbase(0) = Db_ComboBox.Text
特に最初の行。その最初の行は、配列を参照できる= Nothing変数を作成しますが、その部分は、「ここではまだ実際の配列を作成しないでください」と明示的に示しています。事実上、何も指さないポインタがあります。
ここで、本当に必要なのは、時間の経過とともに追加できるリストコレクションであることがわかりました。
Dim Dbase As New List(Of String)()
Dbase.Add(Db_ComboBox.Text)