Для записи я тестирую два кода: просто попробуйте преобразовать из строки в число, и если она не удалась, присвойте номер нулю.
if (!Int32.TryParse(txt,out tmpint)) {
tmpint = 0;
}
и:
try {
tmpint = Convert.ToInt32(txt);
} catch (Exception) {
tmpint = 0;
}
Для C#, лучший вариант заключается в использовании TryParse, потому что пытаются & Поймайте альтернатива брошено исключение
A first chance exception of type 'System.FormatException' occurred in mscorlib.dll
что это болезненно медленным и нежелательно, однако , код не останавливается, если исключение Debug не будет разрешено для остановки с ним.
"внутренне метод Parse вызовет TryParse" За исключением того, что предварительные даты Parse TryParse несколько версий. Конечно, они могли перенести реализацию ядра на TryParse ... –
@Joel - Я предположил, что они перенесли реализацию, но я просто посмотрел на отражатель, и они являются отдельными реализациями с * точно * тем же кодом, кроме у одного есть «бросок ...», и у одного есть «return false». Интересно, почему они не консолидируются ?! –
Хотя, размышляя об этом, Парс бросает несколько разных исключений, поэтому, если все, что у него было, это bool от TryParse, тогда он не знал, какой из них нужно бросить. –