Convert.ToBoolean(string)
thực sự gọi bool.Parse()
dù sao, vì vậy đối với số không string
s, không có sự khác biệt về chức năng. (Đối với vô string
s, Convert.ToBoolean()
lợi nhuận false
, trong khi bool.Parse()
ném một ArgumentNullException
.)
Cho rằng trên thực tế, bạn nên sử dụng bool.Parse()
khi bạn chắc chắn rằng đầu vào của bạn không phải là null, kể từ khi bạn tiết kiệm cho mình một rỗng séc.
Convert.ToBoolean()
tất nhiên có một số quá tải khác cho phép bạn tạo ra một bool
từ nhiều loại built-in khác, trong khi Parse()
chỉ dành cho string
s.
Về phương pháp type.Parse() bạn nên tìm, tất cả các loại số được cài sẵn có các phương thức Parse()
cũng như TryParse()
. DateTime
có các phương thức đó, cũng như các phương thức ParseExact()
/TryParseExact()
bổ sung, cho phép bạn chỉ định định dạng mong muốn cho ngày đó.
FYI: 'TryParse()' không phải là một phần của Khung nhỏ gọn. – jp2code
Cảm ơn các chi tiết. Vì vậy, không có sự khác biệt trong hiệu suất giữa hai, hoặc bạn có thể nói lợi nhuận cực kỳ nhỏ bằng cách sử dụng Boolean.Parse (chuỗi)? – mbrownnyc
@mbrownnyc Bạn sẽ nhận được rất nhỏ (khả năng không thể nhận được) đạt được bằng cách sử dụng 'Parse()' * nếu bạn chắc chắn đầu vào không phải là một chuỗi rỗng *. Nếu bạn không chắc chắn, chỉ cần sử dụng 'ToBoolean()', vì nó sẽ thực hiện kiểm tra cho bạn. Và nếu bạn không muốn một chuỗi rỗng kết quả là false, sau đó thực hiện kiểm tra chính mình, và sau đó gọi là "Parse()' nếu nó không phải là null. – dlev