Có một cú pháp viết tắt trong C# để làm điều này:thử nghiệm cho nhiều giá trị trong một câu lệnh if trong C#
if ((x == 1) || (x==2) || (x==5) || (x==13) || (x==14))
... ngắn hơn? Một cái gì đó giống như (giả thuyết)
if (x in {1, 2, 5, 13, 14})
Tôi "cảm thấy" giống như nó tồn tại, tôi chỉ đi lên ngắn về tinh thần và Googly. Trong thực tế, tôi phải kiểm tra một loạt các enums thường xuyên và nó chỉ là không đọc được. Tôi cũng ghét phải tạo một hàm trợ giúp nhỏ nếu ngôn ngữ hỗ trợ nó.
Cảm ơn trước!
Sửa
Có nhiều giải pháp thông minh liên quan đến danh sách ... nhưng tôi đã hy vọng cho một cấu trúc logic thuần túy của một số loại. Nếu nó không tồn tại, vì vậy hãy là nó. Cảm ơn!
http://stackoverflow.com/questions/3907299/c-sharp-if-statements-matching-multiple-values –
Nó không phải là cần thiết để sử dụng dấu ngoặc kép bên trong: 'if (x == 1 || x == 2 || x == 5 ...) 'ngoại trừ nếu bạn đã sử dụng Pascal/Delphi vài năm và có" biến dạng chuyên nghiệp ". – i486