Was ist der Unterschied zwischen konstant und schreibgeschützt?

Inhaltsverzeichnis:

Anonim

Die Hauptunterschied zwischen konstant und readonly ist, dass a Konstante wird zur Kompilierzeit ausgewertet, während readonly zur Laufzeit ausgewertet wird.

C# ist eine moderne und universelle Programmiersprache, die objektorientierte Programmierung unterstützt. Es ist für Common Language Infrastructure (CLI) konzipiert. Eine Variable ist ein Name, der einem Speicherplatz gegeben 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 double-Variablen doppelte Werte enthalten usw. Diese Variablen können auch als Konstanten und schreibgeschützt deklariert werden. Constant wird für absolute Konstanten verwendet, während readonly für nicht absolute Konstanten verwendet wird.

C#, konstant, schreibgeschützt

Was ist konstant

Constant wird für absolute Konstanten verwendet. Der Wert wird bei der Deklaration der Variablen gesetzt.

Ein Beispiel ist wie folgt.

int const-Zahl = 50;

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

Mit const können nur Konstanten in Ausdrücken verwendet werden. Ein solches Beispiel ist wie folgt.

int const num1 = 10;

int const num2 = 20;

int const num3 = num1 + num2;

Wenn es Anweisungen wie folgt gibt, tritt ein Kompilierzeitfehler auf.

int const a = 10;

intb = 5;

int const c = a+b;

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

Was ist schreibgeschützt?

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{

readonly Doppel-Pi;

Programm(){

pi = 3,14;

}

void changeValue(){

// pi = 3,1;

}

}

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

readonly Doppel-Pi = 3,14;

Unterschied zwischen konstant und schreibgeschützt

Definition

Constant bezieht sich auf eine Variable, die in der C#-Programmierung unveränderlich ist, während readonly ein Schlüsselwort in C# ist, das angibt, dass die Zuweisung an das Feld nur als Teil der Deklaration oder in einem Konstruktor in derselben Klasse erfolgen kann.

Auswertung

Der Hauptunterschied zwischen konstant und schreibgeschützt besteht darin, dass Konstante zur Kompilierzeit ausgewertet wird, schreibgeschützt jedoch zur Laufzeit.

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 konstant und schreibgeschützt besteht darin, dass bei Konstanten die Zuweisung von Werten zum Zeitpunkt der Deklaration obligatorisch ist. Im schreibgeschützten Modus ist es jedoch nicht zwingend erforderlich, zum Zeitpunkt der Deklaration Werte zuzuweisen. Ein Wert kann in der Deklaration oder im Klassenkonstruktor zugewiesen werden.

Level deklarieren

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.

Abschluss

Die Konstante und Readonly können ähnlich aussehen, aber sie haben 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.

Bild mit freundlicher Genehmigung:

1. „Logo C Sharp“ von Microsoft – (Public Domain) über Commons Wikimedia

Was ist der Unterschied zwischen konstant und schreibgeschützt?