谈起VB的权威来,自然是MSDN了,我们有什么问题,都会想去那里找到最终的答案。但是权威也只是权威,不是圣贤。
请看这个函数Instr:
参数
Start
可选。数值表达式,设置每个搜索的起始位置。如果省略该参数,则从第一个字符位置开始搜索。起始索引从一开始。
String1
必选。搜索的 String 表达式。
String2
必选。搜索的 String 表达式。
Compare
可选。指定字符串比较的类型。如果省略 Compare,则由 Option Compare 设置确定比较类型。
Compare 参数设置包括:
常数 |
值 |
说明 |
Binary |
0 |
执行二进制比较 |
Text |
1 |
执行文本比较 |
If |
InStr 返回 |
String1 为零长度或Nothing |
0 |
String2 为零长度或Nothing |
start |
未找到 String2 |
0 |
String2 位于 String1 |
匹配开始的位置 |
Start > String2 |
0 |
参照MSDN:http://msdn.microsoft.com/zh-cn/library/8460tsh1(VS.80).aspx
细心的同行们可能发现了,start是数值类型, string2是字符串类型, "如果start>string2, 则函数返回0"该怎么理解?而且msdn上也没有给出start>Len(string1)的情况,所以这里的string2应该是string1。
在csdn上有一样的疑问和答案:http://topic.csdn.net/u/20100601/14/51EAC1AE-C80D-4F34-A8F5-169FEC783DB0.html
微软的Windows都有BUG,MSDN上出现错误也不奇怪。
奇怪的是微软给Windows打补丁,为什么不更新MSDN呢?
奇怪的是MSDN上的错误不只这一个,在百度上搜一下,各式各样的错误。微软却无动于衷??
MSDN的作用之一就是解答用户的疑问,帮助用户更快更好的熟悉微软的产品,但是他的做法跟对windows的态度却“截然不同”,难道微软对自家的孩子也搞“歧视”???