Ich habe die Zeile im VB-Code:
#if Not Debug
was muss ich konvertieren, und ich sehe es nicht in c #?
Gibt es etwas Äquivalentes dazu oder gibt es eine Problemumgehung?
Ich habe die Zeile im VB-Code:
#if Not Debug
was muss ich konvertieren, und ich sehe es nicht in c #?
Gibt es etwas Äquivalentes dazu oder gibt es eine Problemumgehung?
Antworten:
Sie müssten verwenden:
#if !DEBUG
// Your code here
#endif
Oder wenn Ihr Symbol tatsächlich ist Debug
#if !Debug
// Your code here
#endif
Aus der Dokumentation können Sie effektiv DEBUGals Boolescher Wert behandeln. So können Sie komplexe Tests durchführen wie:
#if !DEBUG || (DEBUG && SOMETHING)
Nur damit Sie mit den #ifVorgängen hier vertraut sind, handelt es sich um einen Vorverarbeitungsausdruck und DEBUGein bedingtes Kompilierungssymbol. Hier ist ein MSDN-Artikel für eine ausführlichere Erklärung.
In der Debug- Konfiguration aktiviert Visual Studio standardmäßig die Option DEBUG-Konstante definieren unter den Build-Eigenschaften des Projekts. Dies gilt sowohl für C # als auch für VB.NET. Wenn Sie verrückt werden möchten, können Sie neue Build-Konfigurationen definieren und Ihre eigenen bedingten Kompilierungssymbole definieren. Das typische Beispiel, wenn Sie dies sehen, ist:
#if DEBUG
//Write to the console
#else
//write to a file
#endif
Nur für den Fall, dass es jemand anderem hilft, hier ist meine Antwort.
Das würde nicht richtig funktionieren:
#if !DEBUG
// My stuff here
#endif
Aber das hat funktioniert:
#if (DEBUG == false)
// My stuff here
#endif
Ich denke so etwas wird funktionieren
#if (DEBUG)
//Something
#else
//Something
#endif
#ifAnweisungen nicht erforderlich . Es kann geschrieben werden#if DEBUG
bool isDebugMode = false;
#if DEBUG
isDebugMode = true;
#endif
if (isDebugMode == false)
{
enter code here
}
else
{
enter code here
}