Синтаксический анализ против TryParse

106
задан Matt Davis 19 December 2012 в 23:08
поделиться

5 ответов

Parse выдает исключение, если оно не может проанализировать значение, тогда как TryParse возвраты bool указание, успешно выполнилось ли оно.

TryParse не делает всего try / catch внутренне - смысл его - то, что это реализовано без исключений так, чтобы это было быстро. На самом деле способ, которым это, скорее всего, реализовано, состоит в том, что внутренне Parse метод назовет TryParse и затем выдаст исключение, если это возвратится false.

, Короче говоря используйте Parse, если Вы уверены, что значение будет допустимо; иначе используйте TryParse.

148
ответ дан Greg Beech 24 November 2019 в 03:51
поделиться

Метод TryParse позволяет Вам тестировать, parseable ли что-то. При попытке Синтаксического анализа как прежде всего с недопустимым интервалом Вы получите исключение, в то время как в TryParse, он возвращает булевскую переменную, сообщающую ли синтаксический анализ, за которым следуют или нет.

, Поскольку сноска, передающая в пустом указателе большинству методов TryParse, выдаст исключение.

3
ответ дан Ray Booysen 24 November 2019 в 03:51
поделиться

Если строка не может быть преобразована в целое число, то

  • int.Parse() выдаст исключение
  • int.TryParse(), возвратит false (но не выдаст исключение)
23
ответ дан Gilad Green 24 November 2019 в 03:51
поделиться

TryParse не возвращает значение, он возвращает код статуса, чтобы указать, успешно выполнился ли синтаксический анализ (и не выдает исключение).

0
ответ дан Mark Brittingham 24 November 2019 в 03:51
поделиться

TryParse и Налог на Исключение

Синтаксический анализ выдает исключение, если преобразование от строки до указанных сбоев типа данных, тогда как TryParse явно старается не выдавать исключение.

3
ответ дан Gulzar Nazim 24 November 2019 в 03:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: