Was ist der Unterschied zwischen Constant und Readonly?

Das Hauptunterschied zwischen konstant und schreibgeschützt ist das a Konstante wird zur Kompilierzeit ausgewertet, während ein Readonly zur Laufzeit ausgewertet wird.

C # ist eine moderne und universelle Programmiersprache, die objektorientierte Programmierung unterstützt. Es ist für die Common Language Infrastructure (CLI) konzipiert. Eine Variable ist ein Name, der einem Speicherort zugewiesen wird. Es kann einen Wert haben und dieser Wert kann im Programm verwendet werden. Die Variablen können verschiedene Typen haben. int-Variablen enthalten ganzzahlige Werte, während doppelte Variablen doppelte Werte usw. enthalten. Diese Variablen können auch als Konstanten deklariert und als readonly deklariert werden. Konstante wird für absolute Konstanten verwendet, während readonly für nicht-absolute Konstanten verwendet wird.

Wichtige Bereiche

1. Was ist konstant?
     - Definition, Funktionalität
2. Was ist Readonly?
    - Definition, Funktionalität
3. Was ist der Unterschied zwischen Constant und Readonly?
    - Vergleich der wichtigsten Unterschiede

Schlüsselbegriffe

C #, konstant, schreibgeschützt

Was ist konstant?

Konstante wird für absolute Konstanten verwendet. Der Wert wird während der Deklaration der Variablen festgelegt.

Ein Beispiel ist wie folgt.

 int const Zahl = 50;

Der Wert von number ist zum Zeitpunkt der Deklaration auf 50 gesetzt. Nach dem Zuweisen ist es nicht möglich, den Wert der Variablen zu ändern.

Die const erlaubt nur die Verwendung von Konstanten in Ausdrücken. Ein solches Beispiel ist wie folgt.

int const num1 = 10;

int const num2 = 20;

int const num3 = num1 + num2;

Wenn folgende Anweisungen vorhanden sind, wird ein Fehler beim Kompilieren angezeigt.

int const a = 10;

int b = 5;

int const c = a + b;

Dies führt zu einem Kompilierzeitfehler, da b nicht konstant ist.

Was ist Readonly?

Readonly wird zur Laufzeit ausgewertet. Es ist nicht erforderlich, den Wert zum Zeitpunkt der Deklaration festzulegen. Der Wert wird im Konstruktor zugewiesen. Ein Beispiel ist wie folgt.

Klassenprogramm

schreibgeschützt Doppel-Pi;

Programm()

pi = 3,14;

void changeValue ()

// pi = 3,1;

Der Wert pi wird innerhalb des Konstruktors vergeben. Der changeValue () kann pi keinen Wert zuweisen. Stattdessen kann der Programmierer die Variable zum Zeitpunkt der Deklaration wie folgt initialisieren.

schreibgeschützt Doppelpi = 3,14;

Außerdem kann readonly nur auf Klassenebene deklariert werden, nicht innerhalb von Methoden.  

Unterschied zwischen Konstanten und Readonly

Definition

Konstante bezieht sich auf eine Variable, die in der C # -Programmierung nicht geändert werden kann, während readonly ein Schlüsselwort in C # ist, das angibt, dass die Zuordnung zu dem Feld nur als Teil der Deklaration oder in einem Konstruktor in derselben Klasse erfolgen kann.

Auswertung

Der Hauptunterschied zwischen Konstante und Readonly ist, dass, während Konstante zur Kompilierzeit ausgewertet wird, Readonly zur Laufzeit ausgewertet wird.

Schlüsselwörter

Das Schlüsselwort 'const' wird für Konstanten verwendet, während das Schlüsselwort 'readonly' für readonly verwendet wird.

Werte zuweisen

Ein weiterer Unterschied zwischen Konstanten und Readonly besteht darin, dass bei Konstanten die Angabe von Werten zum Zeitpunkt der Deklaration obligatorisch ist. In Readonly ist es jedoch nicht zwingend, zum Zeitpunkt der Deklaration Werte zu vergeben. Ein Wert kann in der Deklaration oder im Klassenkonstruktor vergeben werden.  

Level deklarieren

Darüber hinaus können die Konstanten auf Klassen- und Methodenebene deklariert werden. Das Readonly kann nur auf Klassenebene deklariert werden.

Verwendungszweck

Während const für absolute Werte verwendet wird, wird readonly für nicht-absolute Konstanten verwendet. Dies ist ein weiterer Unterschied zwischen konstant und schreibgeschützt.

Fazit

Die Konstante und Readonly können ähnlich aussehen, haben aber einen Unterschied. Der Unterschied zwischen Konstante und Readonly besteht darin, dass eine Konstante zur Kompilierzeit ausgewertet wird, während eine Readonly zur Laufzeit ausgewertet wird.

Referenz:

1. “Was ist Const? - Definition von WhatIs.com. ” TheServerSide.com, Hier verfügbar.

Bildhöflichkeit:

1. "Logo C Sharp" von Microsoft - (Public Domain) über Commons Wikimedia