Không, không có gì tích hợp cho việc này.
Tuy nhiên, cho rằng bạn muốn để mặc định là false, bạn chỉ có thể sử dụng:
bool theAnswer = (input == "y");
(Các bracketing có chỉ là cho rõ ràng.)
Bạn có thể muốn xem xét làm cho nó đựng pin- không nhạy cảm, cho sự khác biệt giữa văn bản câu hỏi của bạn và mã bạn đã có. Một cách để làm điều này:
bool theAnswer = "y".Equals(input, StringComparison.OrdinalIgnoreCase);
Lưu ý rằng việc sử dụng sự so sánh chuỗi định tránh việc tạo ra một chuỗi mới, và có nghĩa là bạn không cần phải lo lắng về các vấn đề văn hóa ... trừ khi bạn muốn để thực hiện một nền văn hóa so sánh nhạy cảm, tất nhiên. Cũng lưu ý rằng tôi đã đặt chữ "đích" của phương thức gọi để tránh NullReferenceException
bị ném khi input
là null
.
Nguồn
2010-09-15 10:46:53
Bạn có muốn thuật toán đánh bom nếu chuỗi không phải là "y" hoặc "n" không? –
Tôi đang cân nhắc việc cố gắng loại trừ ngoại lệ. – wonea
Không có hỗ trợ cho việc này. Tôi cho rằng điều này là do y/n là thông tin _localized_ (có/không) phụ thuộc vào văn hóa hiện tại. – sisve