What is the precedence of operators in C# Preprocessor Directives?
If I have a piece of code written in C# wrapped in an #if directive, what (if any) precedence is applied to any boolean operators that might be used in that directive? In other words: #if DEBUG || MYTEST && PLATFORM_WINDOWS // ... Some code here #endif Will that be simply evaluated left to right as #if (DEBUG || MYTEST) && PLATFORM_WINDOWS And similarly, would #if PLATFORM_WINDOWS && DEBUG || MYTEST Be evaluated as #if (PLATFORM_WINDOWS && DEBUG) || MYTEST Or is there some precedence order for && vs ||? Edit: To be clear, I am well aware that I can run the code myself to test it, and I have. I