[C#] #if C #에서 디버그하지 않습니까?

VB 코드에 줄이 있습니다.

#if Not Debug

변환해야하지만 C #에서 볼 수 없습니까?

이와 동등한 것이 있습니까, 아니면 해결 방법이 있습니까?



답변

다음을 사용해야합니다.

#if !DEBUG
    // Your code here
#endif

또는 기호가 실제로 Debug

#if !Debug
    // Your code here
#endif

로부터 문서 , 효과적으로 처리 할 수 DEBUG부울. 따라서 다음과 같은 복잡한 테스트를 수행 할 수 있습니다.

#if !DEBUG || (DEBUG && SOMETHING)


답변

여기서 무슨 일이 벌어지고 있는지 잘 알고 계시고 #if, 전처리 표현식이고 DEBUG조건부 컴파일 기호입니다. 더 자세한 설명 은 MSDN 문서 입니다.

기본적으로 디버그 구성에서 Visual Studio는 프로젝트의 빌드 속성 아래에서 DEBUG 상수 정의 옵션을 확인합니다 . 이것은 C #과 VB.NET 모두에 적용됩니다. 미친 짓을하고 싶다면 새 빌드 구성을 정의하고 자신 만의 조건부 컴파일 기호를 정의 할 수 있습니다. 이것을 볼 때 일반적인 예는 다음과 같습니다.

#if DEBUG
    //Write to the console
#else
    //write to a file
#endif


답변

다른 사람을 돕는 경우를 대비하여 여기에 내 대답이 있습니다.

이것은 제대로 작동하지 않습니다.

#if !DEBUG
     // My stuff here
#endif

그러나 이것은 작동했습니다.

#if (DEBUG == false)
     // My stuff here
#endif


답변

나는 같은 것이 작동 할 것이라고 생각한다

 #if (DEBUG)
//Something
#else
//Something
#endif


답변

     bool isDebugMode = false;
#if DEBUG
     isDebugMode = true;
#endif
    if (isDebugMode == false)
    {
       enter code here
    }
    else
    {
       enter code here
    }


답변