子串大小建议

时间:2010-07-21 22:57:29

标签: vb.net

如果在if语句中使用以下内容,则会出现错误:

If trg.Name.Substring(4, 6).ToUpper <> ("ABCDEF") Then

我收到错误: “索引和长度必须引用字符串中的位置。参数名称:长度”

我认为这是因为字符串(trg.name)对于4,6子字符串来说太小了。 解决这个问题的正确方法是什么?

谢谢, madlan。

VB.net Studio 2008。

3 个答案:

答案 0 :(得分:2)

If (trg.Name.IndexOf("ABCDEF", StringComparison.OrdinalIgnoreCase) <> 4) Then

答案 1 :(得分:1)

Instr 返回首次找到搜索字符串的索引。所以,如果你能做到这一点:

If InStr(trg.Name, "ABCDEF", CompareMethod.Text) - 1 <> 4 Then

使用InStr,你不必检查trg.Name的长度。

答案 2 :(得分:0)

您应该检查trg.Name的长度是否至少为(4 + 6)个字符。