如果在if语句中使用以下内容,则会出现错误:
If trg.Name.Substring(4, 6).ToUpper <> ("ABCDEF") Then
我收到错误: “索引和长度必须引用字符串中的位置。参数名称:长度”
我认为这是因为字符串(trg.name)对于4,6子字符串来说太小了。 解决这个问题的正确方法是什么?
谢谢, madlan。
VB.net Studio 2008。
答案 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)个字符。