Advanced Loop 11.Въвеждане на четно число (с обработка на грешен вход)
Здравейте, пичове. Имам два въпроса за тази задача.http://pastebin.com/CrqRLWEi -това ми е кода.
Първо - как да овладея ексепшъни, за по-големи от инт числа? Ползвам catch (FormatException) ,което върши работа за стринг, ама май не върши за по-големи числа. И второ, при трето въвеждане на нецяло число или стринг ми дава грешка. (System.FormatException: Input string was not in a correct format) Чудно защо като първите два пъти си влиза в изключението и си казва, че е грешен инпута? Какво е различно третия път?
Всъщност, имам две проверки за изключения и само първата е извън цикъла. Втората е вътре. Това е неефективно знам, но така и не видях в кода ти разграничение между нечетно число и невалидно число. В условието на задачата влиза това разграничение и джъджа проверява за различните случаи. Съчетал си двете условия и даваш един и същи резултат, което не върши работа. Това, което ми помогна обаче е, че видях как си ползвал tryparse синтаксиса и имам един въпрос: int.TryParse(Console.ReadLine(), out a) това out a накрая какво по-точно прави.
Не е проблем да се разделят проверките за невалидно и нечетно число. Просто за конкретната задача се получава и този вариант. В Judge дава 100/100, иначе не бих качил решението.
Относно out в TryParse - то указва в коя променлива да се запише числото, в случай че Parse-ването е успешно.
Може ли да обясниш какво точно прави параметърът "out", който си ползвал в решението си?