Die Semantik von Konstantendeklarationen in C♯
Eine Konstantendeklaration legt den Typ, den Namen und den Wert einer Konstanten für den Gültigkeitsbereich dieser Konstantendeklaration fest.
- Der Typ der Konstanten wird durch den in der Anweisung angegebenen Typ festgelegt.
- Der Name der Konstanten wird durch den in der Anweisung angegebenen Bezeichner festgelegt.
- Bei der Ausführung einer Konstantendeklaration wird ihr Ausdruck (der rechts vom Gleichheitszeichen befindliche Initialisierungsausdruck) ausgewertet. Der Wert der Konstanten wird durch den Wert dieser Auswertung des in der Deklaration angegebenen Ausdrucks festgelegt.
Danach kann der Name der Konstanten innerhalb des Gültigkeitsbereichs der Deklaration als Wertausdruck mit dem festgelegten Typ und Wert verwendet werden. Der Name, der Typ und der Wert einer Konstanten sind nicht veränderlich.
Die Festlegung des Wertes einer Konstanten in einer Konstantendeklaration wird auch als Initialisierung (der Konstanten) bezeichnet. Unter Initialisierung versteht man die erste Festlegung des Wertes eines Namens.
Die Verwendung eines Namens als Ausdruck nennt man kurz einfach nur Verwendung (des Namens).
Kuriositäten *
In dem folgenden Programm wird eine Konstante namens »System« deklariert.
»global::« erlaubt es sich trotzdem weiterhin auf den globalen Namen »System« zu beziehen.
Program.cs
public static class Program
{ public static void Main()
{const int System = 7;
global::System.Console.WriteLine( System ); }}Protokoll
7
Nach der Definition einer Konstanten »global« kann der Bezeichner »global« weiterhin zur Qualifikation eines Namens verwendet werden. In »global::System.Console.WriteLine« ist das »global« also keine Verwendung der Konstanten »global«.
Program.cs
public static class Program
{ public static void Main()
{const int global = 7;
global::System.Console.WriteLine( global ); }}Protokoll
7