1 00:00:00,000 --> 00:00:00,360 2 00:00:00,360 --> 00:00:02,390 >> SPEAKER 1: Ukazuje se, že tento program, krátké i když je, 3 00:00:02,390 --> 00:00:03,770 ve skutečnosti má chyba. 4 00:00:03,770 --> 00:00:08,060 Ve výjimečných případech, GetString, za vlastní dokumentace, může se vrátit 5 00:00:08,060 --> 00:00:09,390 něco jiného než řetězec. 6 00:00:09,390 --> 00:00:12,700 Konkrétně, sentinel, speciální hodnota tzv. null - 7 00:00:12,700 --> 00:00:14,080 N-U-L-L. 8 00:00:14,080 --> 00:00:17,350 >> Null znamená, že obecně, něco pokazilo, přičemž v tomto 9 00:00:17,350 --> 00:00:20,340 případě, že uživatel může mít zadali jako velký řetězec, který by to nehodí 10 00:00:20,340 --> 00:00:23,610 v paměti, a tak GetString moc vrátí null v tomto případě. 11 00:00:23,610 --> 00:00:26,650 >> Nebo by to mohlo být, že uživatel nějak neměl psát libovolný řetězec vůbec, ve 12 00:00:26,650 --> 00:00:28,570 přičemž žádný řetězec může vrátit. 13 00:00:28,570 --> 00:00:31,200 Takže je to nejlepší, co můžeme odhalit zda je či není null má 14 00:00:31,200 --> 00:00:33,200 byl vrácen takto - 15 00:00:33,200 --> 00:00:40,270 Pouze v případě, S není rovno null by I přistoupit k provedení této smyčky. 16 00:00:40,270 --> 00:00:43,520 >> Jinými slovy, pokud se stane GetString vrátit null, nebudu se 17 00:00:43,520 --> 00:00:46,880 náhodně zkuste iterace znaky, které prostě nejsou tam. 18 00:00:46,880 --> 00:00:49,597