Konstante

Definition - Was bedeutet Konstante?

Im Kontext von C # ist eine Konstante ein Feldtyp oder eine lokale Variable, deren Wert zur Kompilierungszeit festgelegt wird und zur Laufzeit niemals geändert werden kann. Es ähnelt einer Variablen, indem es einen Namen, einen Wert und einen Speicherort hat. Es unterscheidet sich von der Variablen jedoch durch die Eigenschaft, nur einmal in der Anwendung initialisiert zu werden. Eine Konstante wird mit dem Schlüsselwort "const" deklariert.

Variablen vom integrierten Typ mit Ausnahme von System.Object, dessen unveränderlicher Wert zur Kompilierungszeit bekannt ist, können als Konstanten deklariert werden. Während der Kompilierung wird der Literalwert vom Compiler durch seinen konstanten Wert im Zwischensprachencode ersetzt. Dies führt zu einer besseren Integrität der Anwendung, indem versehentliche Fehler reduziert werden. Die Verwendung von Konstanten verbessert auch die Leistung gegenüber regulären Variablen. Es verbessert die Lesbarkeit des Codes und bietet eine bessere Wartung, da es einfacher ist, den konstanten Wert an einer einzigen Stelle zu aktualisieren, bevor die Software neu kompiliert wird.

Technische.me erklärt Constant

Eine Konstante hat die folgenden Eigenschaften oder muss die folgenden Regeln einhalten:

  • Eine oder mehrere Konstanten eines bestimmten Typs können in einer einzelnen Deklaration deklariert werden.
  • Eine Konstante kann von einem beliebigen Typ sein, z. B. ein Sbyte, Byte, Short, Ushort, Int, Uint, Long, Ulong, Char, Float, Double, Dezimal, Bool, String, Aufzählungstyp oder Referenztyp.
  • Ein Konstantentyp sollte mindestens so zugänglich sein wie die Konstante selbst.
  • Eine Konstante kann von anderen Konstanten abhängen, wenn Abhängigkeiten nicht zirkulärer Natur sind.
  • Eine Konstante kann nicht für eine Methode, eine Eigenschaft oder ein Ereignis verwendet werden.
  • Eine Konstante kann nicht von benutzerdefinierten Typen wie Klasse, Struktur und Array sein.
  • Während der Deklaration einer Konstante kann kein statischer Modifikator verwendet werden.
  • Das Zuweisen einer bereits zugewiesenen konstanten Variablen zur Laufzeit führt zu einem Kompilierungsfehler.
  • Da einer Laufzeit zur Laufzeit keine Adresse zugeordnet ist, kann sie nicht als Referenz übergeben werden und kann nicht als l-Wert in einem Ausdruck angezeigt werden.
  • Eine Konstante kann mit Zugriffsmodifikatoren wie öffentlich, privat, geschützt, intern oder geschützt intern verwendet werden.
  • Konstante Deklarationen auf Klassenebene werden in Assembly-Metadaten gespeichert.

Einige der Best Practices bei der Verwendung von Konstanten sind:

  • Konstanten müssen während der Deklaration initialisiert werden.
  • Konstanten sind mit aussagekräftigen Namen zu verwenden, da sie spezielle Werte darstellen.
  • Um mehrere nichtintegrale / integrale Konstanten zu definieren, kann eine einzelne statische Klasse (die konstante Elementvariablen enthält) verwendet werden, um sie zu gruppieren.
  • Der Bereich der konstanten Variablen ist auf eine einzelne Assembly, Klasse oder Methode beschränkt. Während auf konstante Werte verwiesen wird, die in anderen Assemblys definiert sind, muss diese vor dem Kompilieren der abhängigen Assembly für jede Änderung neu kompiliert werden.

Eine Konstante unterscheidet sich von der schreibgeschützten Variablen dadurch, dass die erstere während der Deklarationszeit initialisiert werden muss und statisch ist, während die letztere während der Deklaration oder zu einem beliebigen Zeitpunkt initialisiert werden kann (wie in einem Konstruktor, um je nach Konstruktortyp unterschiedliche Werte zu erhalten ). Daher wird eine Konstante als Kompilierungszeitkonstante bezeichnet, und eine schreibgeschützte Variable ist eine Laufzeitkonstante.

Diese Definition wurde im Kontext von C # geschrieben