Tôi đã đọc bài viết MSDN của boolean structure, khi tôi thấy rằng boolean có hai trường: TrueString và FalseString. Những tương ứng trở lại "True" và "False".Tại sao bool.TrueString và bool.FalseString tồn tại?
Sau một số tìm kiếm, ví dụ duy nhất tôi có thể tìm thấy là trong this dotnetperls article. Bài viết tuyên bố:
Các chương trình thường cần các chuỗi này. TrueString và FalseString là một cặp hữu ích của các thành viên chỉ đọc. Chúng đại diện cho các giá trị chân lý theo định dạng chuỗi. Chúng cung cấp sự hướng dẫn và trừu tượng hóa trực tiếp bằng cách sử dụng các chuỗi ký tự.
Vì vậy, nó rất hữu ích trong một số trường hợp. Nhưng cùng một bài viết không cung cấp một ví dụ thực tế (IMHO anyway).
Một số đọc thêm cũng khiến tôi chú ý: TrueString và FalseString là trường đọc công khai tĩnh. Và this dornetperls article trạng thái:
Đặc tả ngôn ngữ khuyến cáo sử dụng public static readonly lĩnh vực ... khi lĩnh vực này có thể thay đổi trong tương lai.
Bây giờ, tôi có thể hiểu được phần nào. Nếu nhà phát triển .NET quyết định thay đổi "True" và "False" thành "OkeyDokey" tương ứng và "Phủ định", bạn nên sử dụng TrueString và FalseString.
Nhưng điều đó vẫn để lại cho tôi câu hỏi: trong loại kịch bản nào bạn muốn so sánh một chuỗi với chuỗi chữ của một boolean? Bởi vì thoải mái: "Chương trình thường cần" chúng.
Tôi có thể tưởng tượng nếu bạn đang thực hiện phân tích cú pháp của riêng mình (và không tận dụng 'Boolean.Parse' vì bất kỳ lý do gì).Tôi có lẽ sẽ tranh luận rằng câu lệnh "chương trình _often_ cần" chúng, nhưng nó chính đáng rằng chúng được sử dụng và nó là một quả rất thấp treo cho nhóm BCL để đưa vào. Có lẽ phương thức 'Boolean.ToString' cũng tận dụng chúng khi xuất ra ít nhất theo nghĩa đó, nó cung cấp một khai báo đơn/trung tâm về các biểu diễn chuỗi boolean và các nhà phát triển có thể sử dụng nó để so sánh bất kỳ đầu ra chuỗi nào từ' bool' hơn là viết mã cứng "" Đúng ". –
... vì môi trường .NET được thiết kế để hỗ trợ nhiều ngôn ngữ. http://tackingflow.com/a/491367/284240 –
@TimSchmelter, bạn có thể giải thích tại sao hỗ trợ đa ngôn ngữ có liên quan đến lý do tại sao bạn muốn biết chuỗi ký tự của một boolean không? EDIT: câu hỏi của liên kết bạn đã đăng cho tôi một ví dụ tốt. – Jordy