Home » Microsoft » 70-483 v.2 » Which code should you use?
You need to write a console application that meets the following requirements:
• If the application is compiled in Debug mode, the console output must display Entering debug mode.
• If the application is compiled in Release mode, the console output must display Entering release mode.
Which code should you use?
A. Option A
B. Option B
C. Option C
D. Option D
Correct Answer: D
Explanation/Reference:
#elif lets you create a compound conditional directive. The #elif expression will be evaluated if neither the preceding #if (C# Reference) nor any preceding, optional, #elif directive expressions evaluate to true. If a #elif expression evaluates to true, the compiler evaluates all the code between the #elif and the next conditional directive. For example:
#define VC7
//…
#if debug
Console.Writeline("Debug build");
#elif VC7
Console.Writeline("Visual Studio 7");
#endif
Incorrect:
Not B:
* System.Reflection.Assembly.GetExecutingAssembly Method
Gets the assembly that contains the code that is currently executing.
* Assembly.IsDefined Method
Indicates whether or not a specified attribute has been applied to the assembly.
* System.Dignostics.Debugger Class
Enables communication with a debugger.
Property: IsAttached
Gets a value that indicates whether a debugger is attached to the process.
in this case you should use D
None of these are correct. D is not the correct answer since RELEASE has not been defined. RELEASE is not a predefined constant in Visual Studio. Should just be
#if (DEBUG)
Console.WriteLine(“Entering debug mode”);
#else
Console.WriteLine(“Entering release mode”);
#endif
Like B is correct.