在子串中使用.length(VB.NET)

Cra*_*g C 0 vb.net indexof string-length

无法弄清楚为什么这不起作用.

我试图分析一个包含"."的可变长度字符串.在里面的某个地方,然后剥去"." 和之前的所有人物.这是通过Web服务调用的.

在调试时,它可以正常工作,直到它在下面的最后一行,使用浏览器消息:"System.ArgumentOutOfRangeException:索引和长度必须引用字符串中的位置.参数名称:length"

有人有任何想法吗?

下面的Code1是从eform传递给Web服务的输入变量.

Dim CharNo As New Integer
CharNo = Code1.IndexOf(".")
MyCodebookValueStrip.o_Code1 = Code1.Substring(CharNo + 1, (Code1.Length - CharNo))
Run Code Online (Sandbox Code Playgroud)

Guf*_*ffa 5

您计算剩余字符串的长度是不正确的.你必须再减一个:

Code1.Substring(CharNo + 1, Code1.Length - CharNo - 1)
Run Code Online (Sandbox Code Playgroud)

您也可以省略第二个参数,它将获得字符串的其余部分:

Code1.Substring(CharNo + 1)
Run Code Online (Sandbox Code Playgroud)