在vb.net.it中使用substring函数拆分字符串时出现错误,显示错误,如对象引用未设置为对象的实例。
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 :(得分:1)
如果你要将它分成两部分,为什么要使用for语句,只需将字符串的长度除以2,然后将其用于第一个子字符串的结尾和第二个字符串的开头。此外,如果您没有启用Option Strict
,则应该这样做。因为它是你的错误状态,请确保你已经对所有变量进行了初始化,特别是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 :(得分:1)
检查 strarr 是否为初始化数组;根据该代码,这应该是错误的位置。
答案 2 :(得分:0)
使用拆分功能与您一起使用代码吗?
答案 3 :(得分:0)
问题出在for循环中。每次循环执行时,你都在增加计数器150。在第一次循环后,我设置为149.在第二次执行时,我等于299.这小于312,只剩下13个字符,你将字符串提升到接下来的150个字符。 这就是它出现错误的原因。