VB程序问题,可以编译,一运行就报错

来源:百度知道 编辑:UC知道 时间:2024/05/21 07:15:13
Dim source As String
Dim codenumber() As Integer
Dim i As Integer
source = TextBox1.Text
Dim code As Char() = source.ToCharArray
For i = 0 To source.Length
codenumber(i) = Val(code(i))
Next i

大概意思就是把textbox1里的数字字符串转成数组,但一运行到codenumber(i) = Val(code(i)),就说
在 System.NullReferenceException 中第一次偶然出现的“WindowsApplication1.exe”类型的异常
未处理的“System.NullReferenceException”类型的异常出现在 WindowsApplication1.exe 中。
请大家指导一下
多谢esci,我还有个问题,如果我把 Dim codenumber() As Integer 放到source = TextBox1.Text 后面, 改为Dim codenum(source.Length - 1) As Integer,这样是不是等效的呢?

Dim source As String
Dim codenumber() As Integer
Dim i As Integer
source = TextBox1.Text
ReDim codenumber(source.Length-1)
Dim code As Char() = source.ToCharArray
For i = 0 To source.Length
codenumber(i) = Val(code(i))
Next i
********************************************
如果我把 Dim codenumber() As Integer 放到source = TextBox1.Text 后面, 改为Dim codenum(source.Length - 1) As Integer,这样是不是等效的呢?
>>>>回答:是的

就是这样,数组没初始化大小,不能直接赋值