Boolean isDebugMode = false;
#if DEBUG
isDebugMode = true;
#endif
Nếu bạn muốn chương trình hành vi khác nhau giữa debug và phát hành xây dựng bạn nên làm điều đó như thế này:
#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];
}
Hoặc nếu bạn muốn làm kiểm tra nhất định trên các phiên bản debug các chức năng bạn có thể làm điều đó như thế này:
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;
}
Debug.Assert
sẽ không được đưa vào bản phát hành.
Nguồn
2009-03-17 14:21:30
là OP hỏi về JIT Tối ưu hóa xây dựng? Nếu vậy, thì câu trả lời này là không chính xác. Thuộc tính Debug có thể được khai báo trong một bản dựng JIT được tối ưu hóa hoặc không được tối ưu hóa. –