Convert.ToBoolean(string)
на самом деле вызывает bool.Parse()
в любом случае, поэтому для ненулевых string
с функциональной разницы нет.(Для нулевых string
s Convert.ToBoolean()
возвращает false
, тогда как bool.Parse()
выдает ArgumentNullException
.)
Учитывая этот факт, вы должны использовать bool.Parse()
, когда уверены, что вашinput не является нулевым, так как вы сохраняете себе одну нулевую проверку.
Convert.ToBoolean()
, конечно, имеет ряд других перегрузок, которые позволяют вам генерировать bool
из многих других встроенных типов, тогда как Parse()
только для string
s.
С точки зрения методов type.Parse (), на которые следует обратить внимание, все встроенные числовые типы имеют Parse()
, а также TryParse()
методы.У DateTime
есть такие, а также дополнительные методы ParseExact()
/ TryParseExact()
, которые позволяют указать ожидаемый формат даты.