У мене є рядок у 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 перевірить параметр « Визначити константу 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
bool isDebugMode = false;
#if DEBUG
isDebugMode = true;
#endif
if (isDebugMode == false)
{
enter code here
}
else
{
enter code here
}