C # Präprozessordirektiven
Weisen Sie den Compiler Präprozessor vor dem eigentlichen Start der Information Vorbehandlung kompilieren.
Alle Präprozessordirektiven beginnen mit #. Und auf einer Linie, nur leere Zeichen vor einer Präprozessordirektive erscheinen. Präprozessordirektive ist keine Aussage, sie sind also nicht ein Semikolon (;) Ende.
C # Compiler nicht über einen separaten Pre-Prozessor jedoch gerne einen separaten Preprozessor zu haben als Anweisung verarbeitet wird. In C #, die Präprozessordirektiven für die bedingte Kompilierung Arbeit. C und C ++ nicht über verschiedene Befehle, sie werden nicht verwendet, ein Makro zu erstellen. Eine Präprozessordirektive muss die einzige Anweisung in der Zeile sein.
C # Präprozessordirektiven Liste
Die folgende Tabelle enthält die C # Präprozessordirektiven stehen zur Verfügung:
预处理器指令 | 描述 |
---|---|
#define | 它用于定义一系列成为符号的字符。 |
#undef | 它用于取消定义符号。 |
#if | 它用于测试符号是否为真。 |
#else | 它用于创建复合条件指令,与 #if 一起使用。 |
#elif | 它用于创建复合条件指令。 |
#endif | 指定一个条件指令的结束。 |
#line | 它可以让您修改编译器的行数以及(可选地)输出错误和警告的文件名。 |
#error | 它允许从代码的指定位置生成一个错误。 |
#warning | 它允许从代码的指定位置生成一级警告。 |
#region | 它可以让您在使用 Visual Studio Code Editor 的大纲特性时,指定一个可展开或折叠的代码块。 |
#endregion | 它标识着 #region 块的结束。 |
# define Präprozessor
#define Präprozessordirektive schafft symbolischen Konstanten.
#define ermöglicht es Ihnen, ein Symbol zu definieren, so dass durch die Verwendung des Symbols auf die # if-Direktive Ausdruck übergeben wird, wie der Ausdruck wahr zurückgibt. Die Syntax ist wie folgt:
#define Symbol
Das folgende Programm veranschaulicht diesen Punkt:
#define PI using System; Namespace PreprocessorDAppl { Klasse-Programm { static void Main (string [] args) { #if (PI) Console.WriteLine ( "PI definiert"); #else Console.WriteLine ( "PI ist nicht definiert"); #endif Console.ReadKey (); } } }
Wenn der obige Code kompiliert und ausgeführt wird, erzeugt es die folgenden Ergebnisse:
PI ist definiert
Bedingte Anweisungen
Sie können die # if-Direktive verwenden, um eine bedingte Anweisung zu erstellen. Bedingte Anweisungen zum Prüfen, ob das Symbol wahr ist. Wenn dies zutrifft, wird der Compiler den Code zwischen #if und den nächsten Befehl auszuführen.
Bedingte Anweisung Syntax:
#if Symbol [Operatorsymbol] ...
WobeiSymbol ist der symbolischen Namen getestet werden. Sie können auch wahr und falsch verwenden oder ein Symbol wird vor dem Negationsoperator platziert.
Operator Symbolewerden verwendet , um das Operatorsymbol zu bewerten. Der Bediener kann eine der folgenden Operatoren sein:
- == (Gleichheit)
- ! = (Inequality)
- && (And)
- || (Oder)
Sie können auch Klammern Gruppe Symbole und Operatoren. Bedingte Anweisung in der Debug-Version oder kompilieren die angegebene Konfiguration kompilierten Code. Eine bedingte Anweisung mitder # if - Direktive beginnen, müssen in einem #endifAnweisung angezeigt wird beendet.
Das folgende Programm zeigt die Verwendung von bedingten Anweisungen:
#define DEBUG #define VC_V10 using System; public class Testclass { public static void Main () { # if (DEBUG &&! VC_V10) Console.WriteLine ( "DEBUG definiert ist"); #elif (! DEBUG && VC_V10) Console.WriteLine ( "VC_V10 definiert"); #elif (DEBUG && VC_V10) Console.WriteLine ( "DEBUG und VC_V10 definiert sind"); #else Console.WriteLine ( "DEBUG und VC_V10 sind nicht definiert"); #endif Console.ReadKey (); } }
Wenn der obige Code kompiliert und ausgeführt wird, erzeugt es die folgenden Ergebnisse:
DEBUG und VC_V10 definiert