Parse
выдает исключение, если оно не может проанализировать значение, тогда как TryParse
возвраты bool
указание, успешно выполнилось ли оно.
TryParse
не делает всего try
/ catch
внутренне - смысл его - то, что это реализовано без исключений так, чтобы это было быстро. На самом деле способ, которым это, скорее всего, реализовано, состоит в том, что внутренне Parse
метод назовет TryParse
и затем выдаст исключение, если это возвратится false
.
, Короче говоря используйте Parse
, если Вы уверены, что значение будет допустимо; иначе используйте TryParse
.
Метод TryParse позволяет Вам тестировать, parseable ли что-то. При попытке Синтаксического анализа как прежде всего с недопустимым интервалом Вы получите исключение, в то время как в TryParse, он возвращает булевскую переменную, сообщающую ли синтаксический анализ, за которым следуют или нет.
, Поскольку сноска, передающая в пустом указателе большинству методов TryParse, выдаст исключение.
Если строка не может быть преобразована в целое число, то
int.Parse()
выдаст исключение int.TryParse()
, возвратит false (но не выдаст исключение) TryParse не возвращает значение, он возвращает код статуса, чтобы указать, успешно выполнился ли синтаксический анализ (и не выдает исключение).
TryParse и Налог на Исключение
Синтаксический анализ выдает исключение, если преобразование от строки до указанных сбоев типа данных, тогда как TryParse явно старается не выдавать исключение.