2012-11-21 112 views
0

当我在vb.net.it中使用子字符串函数拆分字符串时出现错误,显示像对象引用未设置为对象实例的错误。将字符串拆分为两部分并将其存储在数组中

code 

phone = t1("fld_phone").ToString 
if phone <> String.Empty Then 
    msg = t1("fld_msg") 
    msg1 = msg.Length 
    Dim Counter As Integer = 0 
    For i = 0 To msg.Length - 1 Step 150 
     strarr(Counter) = msg.Substring(i, 150) 
     Counter += 1 
     Next 


the len of the msg variable is 312 char. 

回答

0

Wheres the code with you using the split function?

+0

对不起使用子字符串函数 – vps

1

如果你打算将它分成两部分,为什么要使用for语句,只需要将字符串的长度除以2,然后在第一个子字符串和第二个字符的开始处使用该长度。另外如果你没有Option Strict打开你应该。由于它是你的错误状态,请确保你已经初始化所有的变量expecially strarr。

Module Module1 

    Sub Main() 
     Dim strArr(1) As String 
     Dim msg As String = "123456789A123456789B123456789C123456789D" 

     strarr(0) = msg.Substring(0, msg.Length \ 2) 
     strArr(1) = msg.Substring(msg.Length \ 2) 
    End Sub 

End Module 
1

检查strarr是初始化的阵列;根据该代码,这应该是错误的位置。

0

问题出在for循环中。每次循环执行时,您都会增加计数器150。在第一次循环后,我设置为149.在第二次执行时,我等于299.这小于312,并且只剩下13个字符,并且您将字符串延伸到下一个150个字符。 这就是它显示错误的原因。

相关问题