In C#, if preprocessor directives are instructions pre-processed before actual compilation then why is it not executed first in this program?
static void Main(string[] args) { Program1.display(); Program2 p2 = new Program2(); p2.show(); #if DEBUG Console.WriteLine("DEBUG from preprocessor directive is working!"); #endif } Expected Output:
DEBUG from preprocessor directive is working! .......(from display()) .......(from show()) But Actual Output:
.......(from display()) .......(from show()) DEBUG from preprocessor directive is working!