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