Nếu tôi có một đoạn mã được viết bằng C# được bao bọc trong chỉ thị #if
, ưu tiên (nếu có) được áp dụng cho bất kỳ toán tử boolean nào có thể được sử dụng trong chỉ thị đó?Ưu tiên của các toán tử trong Chỉ thị tiền xử lý C# là gì?
Nói cách khác:
#if DEBUG || MYTEST && PLATFORM_WINDOWS
// ... Some code here
#endif
sẽ có được chỉ đơn giản là đánh giá trái sang phải như
#if (DEBUG || MYTEST) && PLATFORM_WINDOWS
Và tương tự, sẽ
#if PLATFORM_WINDOWS && DEBUG || MYTEST
Được đánh giá là
#if (PLATFORM_WINDOWS && DEBUG) || MYTEST
Hoặc có một số thứ tự ưu tiên cho & & so với ||?
Chỉnh sửa: Để rõ ràng, tôi biết rõ rằng tôi có thể tự chạy mã để kiểm tra và tôi có. Tôi đang tìm một câu trả lời cung cấp cho tôi một cái gì đó chính thức - một tài liệu tham khảo tài liệu hoặc tương tự, mà có thể cho tôi một sự hiểu biết sâu hơn về cơ chế cơ bản của chỉ thị. Tôi muốn biết nếu có một hành vi cụ thể dự định hoặc nếu điều này hoàn toàn là một cái gì đó không xác định.
Dấu ngoặc đơn IMO nên được sử dụng dù sao, để tránh suy nghĩ chi phí và sự nhầm lẫn như vậy – thumbmunkeys
Tại sao không chạy một số thử nghiệm và cho chúng tôi biết?Đây là một cái gì đó bạn có thể dễ dàng tìm ra cho chính mình. –
Giải pháp đơn giản, cũng có những lợi ích dễ đọc lớn, là chỉ cần tự mình lồng ghép nó. – qaphla