#if Не отлаживать в С#?

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

#if Not Debug

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

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

Ответ 1

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

#if !DEBUG
    // Your code here
#endif

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

#if !DEBUG
    // Your code here
#endif

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

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

Ответ 2

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

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

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

Ответ 3

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

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

Ответ 4

На всякий случай это помогает кому-то другому, вот мой ответ.

Это не сработает правильно:

#if !DEBUG
     // My stuff here
#endif

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

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

Ответ 5

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