#if Not Debug in c#?

前端 未结 5 1312
生来不讨喜
生来不讨喜 2020-12-24 11:07

I have the line in vb code:

#if Not Debug

which I must convert, and I don\'t see it in c#?

Is there something equivalent to it,

相关标签:
5条回答
  • 2020-12-24 11:43
         bool isDebugMode = false;
    #if DEBUG
         isDebugMode = true;
    #endif
        if (isDebugMode == false)
        {
           enter code here
        }
        else
        {
           enter code here
        }
    
    0 讨论(0)
  • 2020-12-24 11:44

    Just in case it helps someone else out, here is my answer.

    This would not work right:

    #if !DEBUG
         // My stuff here
    #endif
    

    But this did work:

    #if (DEBUG == false)
         // My stuff here
    #endif
    
    0 讨论(0)
  • 2020-12-24 11:47

    Just so you are familiar with what is going on here, #if is a pre-processing expression, and DEBUG is a conditional compilation symbol. Here's an MSDN article for a more in-depth explanation.

    By default, when in Debug configuration, Visual Studio will check the Define DEBUG constant option under the project's Build properties. This goes for both C# and VB.NET. If you want to get crazy you can define new build configurations and define your own Conditional compilation symbols. The typical example when you see this though is:

    #if DEBUG
        //Write to the console
    #else
        //write to a file
    #endif
    
    0 讨论(0)
  • 2020-12-24 12:01

    I think something like will work

     #if (DEBUG)
    //Something
    #else
    //Something
    #endif
    
    0 讨论(0)
  • 2020-12-24 12:06

    You would need to use:

    #if !DEBUG
        // Your code here
    #endif
    

    Or, if your symbol is actually Debug

    #if !Debug
        // Your code here
    #endif
    

    From the documentation, you can effectively treat DEBUG as a boolean. So you can do complex tests like:

    #if !DEBUG || (DEBUG && SOMETHING)
    
    0 讨论(0)
提交回复
热议问题