Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> C Sprache

C# - Präprozessordirektiven

Die Präprozessordirektiven weisen den Compiler an, die Informationen vorzuverarbeiten, bevor die eigentliche Kompilierung beginnt.

Alle Präprozessordirektiven beginnen mit #, und vor einer Präprozessordirektive in einer Zeile dürfen nur Leerzeichen stehen. Präprozessordirektiven sind keine Anweisungen, also enden sie nicht mit einem Semikolon (;).

Der C#-Compiler hat keinen separaten Präprozessor; Die Anweisungen werden jedoch so verarbeitet, als ob es eine gäbe. In C# werden die Präprozessordirektiven verwendet, um bei der bedingten Kompilierung zu helfen. Im Gegensatz zu C- und C++-Direktiven werden sie nicht zum Erstellen von Makros verwendet. Eine Präprozessordirektive muss die einzige Anweisung in einer Zeile sein.

Präprozessordirektiven in C#

Die folgende Tabelle listet die in C# verfügbaren Präprozessordirektiven −

auf
Sr.No. Präprozessordirektive &Beschreibung
1

#define

Es definiert eine Folge von Zeichen, genannt symbol.

2

#undef

Damit können Sie die Definition eines Symbols aufheben.

3

#wenn

Es ermöglicht das Testen eines Symbols oder von Symbolen, um zu sehen, ob sie als wahr ausgewertet werden.

4

#else

Es erlaubt, zusammen mit #if.

eine zusammengesetzte bedingte Direktive zu erstellen
5

#elif

Es ermöglicht das Erstellen einer zusammengesetzten bedingten Direktive.

6

#endif

Gibt das Ende einer bedingten Direktive an.

7

#line

Damit können Sie die Zeilennummer des Compilers und (optional) die Ausgabe des Dateinamens für Fehler und Warnungen ändern.

8

#Fehler

Es ermöglicht das Generieren eines Fehlers an einer bestimmten Stelle in Ihrem Code.

9

#Warnung

Es ermöglicht das Generieren einer Warnung der Stufe 1 an einer bestimmten Stelle in Ihrem Code.

10

#Region

Sie können damit einen Codeblock angeben, den Sie erweitern oder reduzieren können, wenn Sie die Gliederungsfunktion des Visual Studio-Code-Editors verwenden.

11

#endregion

Er markiert das Ende eines #region-Blocks.

Der #define Präprozessor

Die Präprozessordirektive #define erstellt symbolische Konstanten.

Mit #define können Sie ein Symbol so definieren, dass der Ausdruck als wahr ausgewertet wird, indem Sie das Symbol als Ausdruck verwenden, der an die #if-Direktive übergeben wird. Seine Syntax ist wie folgt −

#define symbol

Das folgende Programm veranschaulicht dies −

Live-Demo
#define PI 
using System;

namespace PreprocessorDAppl {
   class Program {
      static void Main(string[] args) {
         #if (PI)
            Console.WriteLine("PI is defined");
         #else
            Console.WriteLine("PI is not defined");
         #endif
         Console.ReadKey();
      }
   }
}

Wenn der obige Code kompiliert und ausgeführt wird, erzeugt er das folgende Ergebnis −

PI is defined

Bedingte Direktiven

Sie können die #if-Direktive verwenden, um eine bedingte Direktive zu erstellen. Bedingte Direktiven sind nützlich, um ein Symbol oder Symbole zu testen, um zu überprüfen, ob sie als wahr ausgewertet werden. Wenn sie als wahr ausgewertet werden, wertet der Compiler den gesamten Code zwischen der #if- und der next-Direktive aus.

Die Syntax für die bedingte Direktive ist −

#if symbol [operator symbol]...

Wo, Symbol ist der Name des Symbols, das Sie testen möchten. Sie können auch true und false verwenden oder dem Symbol den Negationsoperator voranstellen.

Das Bedienersymbol ist der Operator, der zur Auswertung des Symbols verwendet wird. Operatoren könnten einer der folgenden sein:−

Sie können Symbole und Operatoren auch mit Klammern gruppieren. Bedingte Direktiven werden zum Kompilieren von Code für einen Debug-Build oder beim Kompilieren für eine bestimmte Konfiguration verwendet. Eine bedingte Direktive, die mit einem #if beginnt Direktive muss explizit mit einem #endif abgeschlossen werden Richtlinie.

Das folgende Programm demonstriert die Verwendung von bedingten Direktiven −

Live-Demo
#define DEBUG
#define VC_V10
using System;

public class TestClass {
   public static void Main() {
      #if (DEBUG && !VC_V10)
         Console.WriteLine("DEBUG is defined");
      #elif (!DEBUG && VC_V10)
         Console.WriteLine("VC_V10 is defined");
      #elif (DEBUG && VC_V10)
         Console.WriteLine("DEBUG and VC_V10 are defined");
      #else
         Console.WriteLine("DEBUG and VC_V10 are not defined");
      #endif
      Console.ReadKey();
   }
}

Wenn der obige Code kompiliert und ausgeführt wird, erzeugt er das folgende Ergebnis −

DEBUG and VC_V10 are defined

C Sprache

  1. C# Hello World – Ihr erstes C#-Programm
  2. C#-Schlüsselwörter und Bezeichner
  3. C#-Variablen und (primitive) Datentypen
  4. C#-Operatoren
  5. C# Bitwise- und Bit-Shift-Operatoren
  6. C# Grundlegende Ein- und Ausgabe
  7. C#-Ausdrücke, -Anweisungen und -Blöcke (mit Beispielen)
  8. C#-Kommentare
  9. C#-switch-Anweisung
  10. C# ternärer (? :) Operator