Possible Duplicate:
How to find out if a .NET assembly was compiled with the TRACE or DEBUG flag
Possible Duplicate:
How to idenfiy if the DLL is Debug or Release build (in .NET)
What's the easiest way to programmatically check if the current assembly was compiled in Debug or Release mode?
bool isDebugMode = false;
#if DEBUG
isDebugMode = true;
#endif
If you want to program different behavior between debug and release builds you should do it like this:
#if DEBUG
int[] data = new int[] {1, 2, 3, 4};
#else
int[] data = GetInputData();
#endif
int sum = data[0];
for (int i= 1; i < data.Length; i++)
{
sum += data[i];
}
Or if you want to do certain checks on debug versions of functions you could do it like this:
public int Sum(int[] data)
{
Debug.Assert(data.Length > 0);
int sum = data[0];
for (int i= 1; i < data.Length; i++)
{
sum += data[i];
}
return sum;
}
The Debug.Assert
will not be included in the release build.