Другие языки программирования и технологии
Чем Отличается Parse от Try.Parse и Convert.To в языке C#?
Недавно начал читать Шилдта, и никак не могу понять, ЗАЧЕМ столько команд с одним и тем же ефектом
Методы Convert имеют много перегрузок, выполняющих конвертацию разных типов, тогда как Parse конвертирует только строки.
Также некоторые методы Convert имеют большую функциональность, например Convert.ToInt32(string, int) поддерживает четыре системы счисления - двоичную, восьмеричную, десятичную и шестнадцатеричную, а int.Parse - только две.
А в случае тех методов Convert, функциональность которых полностью аналогична методам Parse, особой разницы нет, т. к. эти методы внутри вызывают тот же Parse.
Про отличие TryParse уже написали в других ответах. Если входная строка получена из источника, который гарантирует её корректность (как например MaskedTextBox, который не позволит ввести что-то неправильное) - используй Parse. Если же входная строка может содержать что угодно (например, когда она просто считывается из консоли) - используй TryParse, чтобы в случае некорректного ввода не допустить падения приложения, а просто прервать выполнение и попросить пользователя исправить некорректные данные.
Также некоторые методы Convert имеют большую функциональность, например Convert.ToInt32(string, int) поддерживает четыре системы счисления - двоичную, восьмеричную, десятичную и шестнадцатеричную, а int.Parse - только две.
А в случае тех методов Convert, функциональность которых полностью аналогична методам Parse, особой разницы нет, т. к. эти методы внутри вызывают тот же Parse.
Про отличие TryParse уже написали в других ответах. Если входная строка получена из источника, который гарантирует её корректность (как например MaskedTextBox, который не позволит ввести что-то неправильное) - используй Parse. Если же входная строка может содержать что угодно (например, когда она просто считывается из консоли) - используй TryParse, чтобы в случае некорректного ввода не допустить падения приложения, а просто прервать выполнение и попросить пользователя исправить некорректные данные.
Try.Parse от Parse отличается тем, что Try.Parse безопасно конвертирует данные, а Parse может положить приложение если не сможет конвертировать. Try.Parse применяется обычно когда данные динамически приходят и не угадаешь, что внутри будет, то ли число, то ли строка, то ли дырка от бублика и вроде работает со всеми типами. Convert работает с простыми типами и тоже грохнет приложение если не получится конвертировать, как бы для элементарных случаев, когда строку интегер надо в биг интегер по быстрому и неприхотливо. По сути эти 3 разных класса для преобразования в разных ситуациях. Try.Parse это такой самый мощный, Parse для средних случаев, а Convert для самых элементарных
Convert.To выбрасывает исключение при ошибке, а Try.Parse возвращает false.
Класс Convert нужен только для однообразия преобразований. Все эти преобразования можно выполнить и без него. Например, есть метод int.Parse.
Класс Convert нужен только для однообразия преобразований. Все эти преобразования можно выполнить и без него. Например, есть метод int.Parse.
Дима Бурцев
А когда использовать ИнтПарс, и Конверт Ту Инт?
Сергей Красов
.TryParse (без точки между Try и Parse)
Похожие вопросы
- Вопрос для тех кто знает точный ответ, язык C про функции все подробности вопроса внутри...
- Вопрос актуальности языка C++, расхождение источников. Мне нужна достоверная инфа на это счет.
- Равны ли по мощности, гибкости языки C# и C++. Равны ли по мощности, гибкости языки C# и C++ или какой то из них мощнее?
- Я так понимаю, что бы создать графический интерфейс, например игру, недостаточно языка c++ ?
- Вопрос по изучению языка C++?
- язык c++
- Программирование! По языку C#!
- Можно ли начинать изучать язык C++,если до этого никогда не программировал?
- Как создать современную 2D игру на языке C#
- Подскажите, пожалуйста. Язык C++