Dim _PZ1405CINI As String = Common.Cvr2String(IIf(_CTopicValue.Length > 4, _CTopicValue.Substring(0, 4), _CTopicValue))
Common.Cvr2String为系统定义的字符串转换方法,_CTopicValue 为一String 变量,当其Length 为0时,会报出“ 索引和長度必須參考字串中的位置”错误。VB中IIF 方法中,判断的原理是什么?
在IIF中不管_CTopicValue.Length > 4为true还是false,都会执行_CTopicValue.Substring(0, 4)。true/false只是决定使用哪一个结果。
你可以试试下面的代码:
If(_CTopicValue.Length > 4, _CTopicValue.Substring(0, 4), _CTopicValue)
原来是这样,自己只是没弄明白为什么会报错,现在知道了,谢谢!