У меня есть строка в коде vb:
#if Not Debug
который я должен преобразовать, и я не вижу его в С#?
Есть ли что-то эквивалентное ему, или есть ли какое-то обходное решение?
У меня есть строка в коде vb:
#if Not Debug
который я должен преобразовать, и я не вижу его в С#?
Есть ли что-то эквивалентное ему, или есть ли какое-то обходное решение?
Вам нужно будет использовать:
#if !DEBUG
// Your code here
#endif
Или, если ваш символ на самом деле Debug
#if !DEBUG
// Your code here
#endif
Из документации вы можете эффективно обрабатывать Debug
как логическое. Поэтому вы можете выполнять сложные тесты, например:
#if !DEBUG || (DEBUG && SOMETHING)
Именно поэтому вы знакомы с тем, что здесь происходит, #if
- это выражение предварительной обработки, а DEBUG
- условный символ компиляции. Здесь статья MSDN для более подробного объяснения.
По умолчанию при настройке Отладка Visual Studio проверит параметр Определить DEBUG константу в свойствах проекта. Это касается как С#, так и 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
}