Freigeben über


#define (C#-Referenz)

Aktualisiert: November 2007

#define ermöglicht die Definition eines Symbols. Wenn dieses Symbol dann als Ausdruck an die #if-Direktive übergeben wird, wird der Ausdruck als true ausgewertet. Beispiel:

#define DEBUG

Hinweise

Hinweis:

Die #define-Direktive kann nicht zur Deklaration von konstanten Werten verwendet werden wie in C und C++. Definieren Sie Konstanten in C# als statische Member einer Klasse oder einer Struktur. Wenn Sie über mehrere solcher Konstanten verfügen, erwägen Sie, eine separate "Constants"-Klasse zu erstellen.

Symbole können verwendet werden, um Bedingungen für die Kompilierung anzugeben. Ein Symbol kann entweder mit #if oder mit #elif überprüft werden. Für bedingte Kompilierung kann auch das conditional-Attribut verwendet werden.

Ein Symbol kann zwar definiert werden, aber es kann ihm kein Wert zugewiesen werden. Die #define-Direktive muss in einer Datei vor allen Anweisungen, bei denen es sich nicht um Direktiven handelt, verwendet werden.

Ein Symbol kann auch mit der /define-Compileroption definiert werden. Die Definition eines Symbols kann mit #undef aufgehoben werden.

Zwischen einem Symbol, das mit /define oder mit #define definiert wird, und einer Variablen mit dem gleichen Namen kommt es zu keinem Konflikt. Das bedeutet, dass ein Variablenname nicht an eine Präprozessordirektive übergeben werden sollte und ein Symbol nur von einer Präprozessordirektive ausgewertet werden kann.

Bei dem Gültigkeitsbereich eines mit #define erstellten Symbols handelt es sich um die Datei, in der es definiert wurde.

Ein Beispiel zur Verwendung von #define finden Sie unter #if.

Siehe auch

Konzepte

C#-Programmierhandbuch

Referenz

C#-Präprozessordirektiven

const (C#-Referenz)

Weitere Ressourcen

C#-Referenz