談起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的態度卻“截然不同”,難道微軟對自家的孩子也搞“歧視”???