У меня есть строка в коде vb:
#if Not Debug
который я должен преобразовать, а я не вижу его в 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 проверяет параметр « Определить константу отладки » в свойствах сборки проекта. Это касается как 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
#ifоператоров. Это можно написать#if DEBUG
bool isDebugMode = false;
#if DEBUG
isDebugMode = true;
#endif
if (isDebugMode == false)
{
enter code here
}
else
{
enter code here
}