#если не отлаживать в c#?


У меня есть строка в коде vb:

#if Not Debug

который я должен преобразовать, и я не вижу его в c#?

есть ли что-то эквивалентное этому, или есть какой-то обходной путь?

5 94

5 ответов:

вам нужно будет использовать:

#if !DEBUG
    // Your code here
#endif

или, если ваш символ на самом деле Debug

#if !Debug
    // Your code here
#endif

С документация, вы можете эффективно лечить DEBUG как логическое. Таким образом, вы можете сделать сложные тесты, такие как:

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

просто чтобы вы знали, что здесь происходит, #if - это выражение предварительной обработки, и DEBUG - это символ условной компиляции. вот статья MSDN для более глубокого объяснения.

по умолчанию, когда в Debug конфигурация, Visual Studio проверит определить константу debug опция в свойствах сборки проекта. Это касается как C#, так и VB.NET. если вы хотите сойти с ума, вы можете определить новую сборку конфигурирование и определение собственных условных символов компиляции. Типичный пример, когда вы видите это, хотя:

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

Я думаю, что-то вроде будет работать

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

на всякий случай, если это поможет кому-то еще, вот мой ответ.

это не будет работать правильно:

#if !DEBUG
     // My stuff here
#endif

но это сработало:

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