Mam wiersz w kodzie VB:
#if Not Debug
które muszę przekonwertować, a nie widzę tego w C #?
Czy jest coś równoważnego, czy jest jakieś obejście?
Musisz użyć:
#if !DEBUG
// Your code here
#endif
Lub, jeśli twój symbol jest rzeczywiście Debug
#if !Debug
// Your code here
#endif
Z dokumentacji można skutecznie traktować DEBUG
jako wartość logiczną. Możesz więc wykonywać złożone testy, takie jak:
#if !DEBUG || (DEBUG && SOMETHING)
Po prostu wiesz, co się tutaj dzieje, #if
jest wyrażeniem przetwarzania wstępnego i DEBUG
symbolem kompilacji warunkowej. Oto artykuł MSDN zawierający bardziej szczegółowe wyjaśnienie.
Domyślnie w konfiguracji debugowania program Visual Studio sprawdzi opcję Zdefiniuj stałą DEBUG we właściwościach kompilacji projektu. Dotyczy to zarówno języka C #, jak i VB.NET. Jeśli chcesz oszaleć, możesz zdefiniować nowe konfiguracje kompilacji i zdefiniować własne symbole kompilacji warunkowej. Typowy przykład, kiedy to widzisz, to:
#if DEBUG
//Write to the console
#else
//write to a file
#endif
Na wypadek, gdyby to pomogło komuś innemu, oto moja odpowiedź.
To nie zadziała poprawnie:
#if !DEBUG
// My stuff here
#endif
Ale to zadziałało:
#if (DEBUG == false)
// My stuff here
#endif
Myślę, że coś takiego zadziała
źródło
#if
instrukcji warunkowych samo zapisywanie nawiasów nie jest wymagane . Można to napisać#if DEBUG
źródło