0

当我使用 vb.net 中的子字符串函数拆分字符串时出现错误。它显示错误,例如对象引用未设置为对象的实例。

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.
4

4 回答 4

1

如果您只想将它​​分成两部分,为什么要使用 for 语句,只需将字符串的长度除以 2 并将其用于第一个子字符串的结尾和第二个子字符串的开头。此外,如果你没有Option Strict打开你应该。由于这是您的错误状态,请确保您已初始化所有变量,特别是 strarr。

IE

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
于 2012-11-21T06:23:05.983 回答
1

检查strarr是一个初始化的数组;根据该代码,这应该是错误的位置。

于 2012-11-21T06:23:43.720 回答
0

使用 split 函数的代码在哪里?

于 2012-11-21T06:14:24.980 回答
0

问题出在for循环中。每次循环执行时,您都会增加计数器 150。在第一个循环之后,我设置为 149。在第二次执行中,我等于 299。这比 312 少,只剩下 13 个字符,你将字符串带到下一个 150 个字符。这就是为什么它显示错误。

于 2012-11-21T06:28:04.970 回答