phiên bản đầu tiên của bạn đã bao gồm nhiều nhà khai thác trong một biểu thức. Có vẻ như bạn muốn áp dụng nhiều toán hạng ("chó", "mèo", "con người") cho một nhà điều hành duy nhất (==
trong trường hợp này).
Đối mà cụ thể ví dụ bạn có thể sử dụng:
// Note: could extract this array (or make it a set etc) and reuse the same
// collection each time we evaluate this.
if (new[] { "dog", "cat", "human" }.Contains(foo))
Nhưng không có chung một kích thước phù hợp cho tất cả các phiên bản của tất cả các nhà khai thác này cho.
EDIT: Như đã lưu ý trong các nhận xét, phần trên sẽ không hoạt động tốt như phiên bản được mã hóa cứng.
Nguồn
2012-04-27 10:21:06
Tôi phải chỉ ra, rằng điều này sẽ có hiệu suất tồi tệ hơn chỉ đơn giản là cứng mã hóa biểu thức (nhưng có khả năng linh hoạt hơn/duy trì) –
@DaveBish: Sẽ làm, cảm ơn. –
@JonSkeet: cảm ơn. Tôi đã nói lại câu hỏi của mình. Những gì tôi so sánh (chó, mèo, con người) là một toán hạng, sau đó là "foo" là gì? Operatee? – KMC