2012-11-21 114 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個字符。 這就是它顯示錯誤的原因。

相關問題