1 00:00:00,000 --> 00:00:00,360 2 00:00:00,360 --> 00:00:02,390 >> 揚聲器1:原來這個程序, 總之,雖然它是, 3 00:00:02,390 --> 00:00:03,770 實際上有一個bug。 4 00:00:03,770 --> 00:00:08,060 在極少數情況下,GetString的,每 自己的文檔,可以返回 5 00:00:08,060 --> 00:00:09,390 東西比其他的字符串。 6 00:00:09,390 --> 00:00:12,700 具體來說,一個哨兵,一個特殊的 值稱為空 - 7 00:00:12,700 --> 00:00:14,080 N-U-L-L。 8 00:00:14,080 --> 00:00:17,350 >> 空意味著普遍,一些 出了問題,從而在這 9 00:00:17,350 --> 00:00:20,340 情況下,用戶可能已經輸入了這樣 它不適合大的字符串 10 00:00:20,340 --> 00:00:23,610 在內存中,所以GetString引發該異常威力 在這種情況下返回null。 11 00:00:23,610 --> 00:00:26,650 >> 或者,它可能是某種方式的用戶 沒有輸入任何字符串中,在 12 00:00:26,650 --> 00:00:28,570 這種情況下,沒有字符串可以回來。 13 00:00:28,570 --> 00:00:31,200 所以這是最好的,我們檢測 不論是否具有空 14 00:00:31,200 --> 00:00:33,200 被退回如下 - 15 00:00:33,200 --> 00:00:40,270 僅當S不等於空應 我繼續執行這個循環。 16 00:00:40,270 --> 00:00:43,520 >> 換句話說,如果發生的GetString 返回空值,我不打算 17 00:00:43,520 --> 00:00:46,880 小心嘗試遍歷 字符,根本不存在。 18 00:00:46,880 --> 00:00:49,597