Looking for c# Keywords? Try Ask4Keywords

C# LanguagePräprozessor-Anweisungen


Syntax

  • #define [Symbol] // Definiert ein Compiler-Symbol.
  • #undef [Symbol] // Definiert ein Compilersymbol.
  • #warning [ warn message] // Erzeugt eine Compiler-Warnung. Nützlich mit #if.
  • #error [Fehlermeldung] // Erzeugt einen Compiler-Fehler. Nützlich mit #if.
  • #line [Zeilennummer] (Dateiname) // Überschreibt die Compiler-Zeilennummer (und optional den Namen der Quelldatei). Wird mit T4-Textvorlagen verwendet .
  • #pragma warning [disable | restore] [Warnungsnummern] // Deaktiviert / stellt Compiler-Warnungen wieder her.
  • #pragma Checksumme " [Dateiname] " " [Guid] " " [Prüfsumme] " // Überprüft den Inhalt einer Quelldatei.
  • #region [ Regionsname ] // Definiert einen reduzierbaren Codebereich.
  • #endregion // Beendet einen Codebereichsblock.
  • #if [Bedingung] // Führt den folgenden Code aus, wenn die Bedingung erfüllt ist.
  • #else // Wird nach einem #if verwendet.
  • #elif [Bedingung] // Wird nach einem #if verwendet.
  • #endif // Beendet einen Bedingungsblock, der mit #if begonnen wurde.

Bemerkungen

Präprozessoranweisungen werden normalerweise verwendet, um Quellprogramme leicht zu ändern und in verschiedenen Ausführungsumgebungen leicht zu kompilieren. Direktiven in der Quelldatei weisen den Präprozessor an, bestimmte Aktionen auszuführen. Der Präprozessor kann beispielsweise Tokens im Text ersetzen, den Inhalt anderer Dateien in die Quelldatei einfügen oder die Kompilierung eines Teils der Datei unterdrücken, indem Textabschnitte entfernt werden. Präprozessorzeilen werden vor der Makroerweiterung erkannt und ausgeführt. Wenn also ein Makro in etwas erweitert wird, das wie ein Präprozessorbefehl aussieht, wird dieser Befehl vom Präprozessor nicht erkannt.

Präprozessoranweisungen verwenden denselben Zeichensatz wie Anweisungen für Quelldateien, mit der Ausnahme, dass Escape-Sequenzen nicht unterstützt werden. Der in Präprozessoranweisungen verwendete Zeichensatz ist derselbe wie der Ausführungszeichensatz. Der Präprozessor erkennt auch negative Zeichenwerte.

Bedingte Ausdrücke

Bedingte Ausdrücke ( #if , #elif usw.) unterstützen eine begrenzte Teilmenge von Booleschen Operatoren. Sie sind:

  • == und != . Diese können nur zum Testen verwendet werden, ob das Symbol wahr (definiert) oder falsch (nicht definiert) ist.
  • && , || !
  • ()

Zum Beispiel:

#if !DEBUG && (SOME_SYMBOL || SOME_OTHER_SYMBOL) && RELEASE == true
Console.WriteLine("OK!");
#endif

würde einen Code kompilieren, der "OK!" Wenn DEBUG nicht definiert ist, wird entweder SOME_SYMBOL oder SOME_OTHER_SYMBOL definiert und RELEASE definiert.

Anmerkung: Diese Ersetzungen werden zur Kompilierzeit ausgeführt und stehen daher zur Laufzeit nicht zur Überprüfung zur Verfügung. Code, der durch Verwendung von #if ist nicht Teil der Compiler-Ausgabe.

Siehe auch: C # -Prozessoranweisungen bei MSDN.

Präprozessor-Anweisungen Verwandte Beispiele