Eine Programmiersprache gibt dem Computer Anweisungen zur Ausführung von Aufgaben. Das Programm kann Daten bearbeiten, die Zahlen, Zeichen und Strings enthalten, und Informationen an den Benutzer senden. Eine Folge von Anweisungen, die in einer bestimmten Programmiersprache geschrieben sind, ist ein Programm. In Programmiersprachen wie C # gibt es Token. Dies sind Schlüsselwörter, Bezeichner, Literale und Operatoren. Die reservierten Speicherplätze zum Speichern von Daten werden als Variablen bezeichnet. Eine Variable kann einen Wert eines bestimmten Typs speichern. Die Datentypen können in Werttyp und Referenztyp unterteilt werden. Die Unterscheidung zwischen Werttyp und Referenztyp hängt von zwei Merkmalen ab. Dort werden die Variablen gespeichert und wie sie sich mit einer Zuweisungsanweisung verhalten. Dieser Artikel beschreibt den Unterschied zwischen Werttyp und Referenztyp. Das Hauptunterschied zwischen dem Werttyp und dem Referenztyp ist das Ein Werttyp enthält einen Datenwert in seinem eigenen Speicherbereich, während ein Referenztyp einen Zeiger auf einen anderen Speicherplatz enthält, der die Daten enthält.
1. Übersicht und Schlüsseldifferenz
2. Was ist Werttyp?
3. Was ist ein Referenztyp?
4. Ähnlichkeiten zwischen Werttyp und Referenztyp
5. Side-by-Side-Vergleich - Werttyp vs. Referenztyp in Tabellenform
6. Zusammenfassung
Die Werttypen können in zwei Kategorien unterteilt werden. Sie sind vordefinierte Typen und benutzerdefinierte Typen. Die vordefinierten Typen werden von der Programmiersprache bereitgestellt. Sie können numerisch, Zeichentyp oder dezimal sein. Die numerischen Typen können ganzzahlige Typen, Gleitkommatypen und Dezimaltypen sein. Integrale Typen können weiter in signierte und nicht signierte klassifiziert werden. Die vorzeichenbehafteten Ganzzahlen können positive oder negative Zahlen speichern. Sbyte, short, int und long sind signierte Datentypen.
Das Sybte ist ein Byte, short zwei Bytes, int vier Bytes und long acht Bytes. Der vorzeichenlose Typ speichert positive Werte. Byte, ushort, uint und ulong sind Beispiele für unsignierte Typen. Die Fließkommatypen können einen numerischen Wert mit Dezimalpunkt speichern. Der Float speichert 32-Bit-Gleitkommawert mit einfacher Genauigkeit, und der Double-Wert wird zum Speichern von 64-Bit-Gleitkommazahlen mit einfacher Genauigkeit verwendet. Der Dezimaltyp ist für hochgenaue Werte. Der char-Datentyp wird zum Speichern eines einzelnen Zeichens im Speicher verwendet. Manchmal ist es erforderlich, einen wahren oder einen falschen Wert zu speichern. Dafür wird der Boolean verwendet. Dies sind einige Beispiele für Werttypen, die von der Programmiersprache bereitgestellt werden.
Der Benutzer kann auch Werttypen erstellen. Zwei solcher benutzerdefinierten Werttypen sind Struktur und Aufzählungen. Eine Struktur enthält Daten verschiedener Typen. Es ist einer Klasse ähnlich. Das Schlüsselwort'struct 'wird verwendet, um eine Strukturvariable zu deklarieren. Ein Beispiel für die Struktur ist wie folgt.
struct Mitarbeiter
public int empNo;
öffentlicher String-Name;
Aufzählungen werden verwendet, um die Lesbarkeit des Codes zu erhöhen. Es wird verwendet, um den Nummern Namen zu geben. Das Schlüsselwort 'enum' wird verwendet, um eine Aufzählung zu deklarieren. Ein Beispiel für eine Aufzählung ist wie folgt. z.B. - enum Farbe schwarz, weiß, violett. Das Schlüsselwort enum listet automatisch eine Liste von Wörtern auf, indem Werte beginnend mit 0 zugewiesen werden. Gemäß dem obigen Beispiel wird Schwarz mit 0 zugewiesen, Weiß mit 1 und Violett mit 2 zugewiesen. Wenn es als Enumefarbe geschrieben wird Weiß = 3, Lila, dann wird Schwarz mit 0 und Lila mit 4 zugewiesen. Dies sind einige Beispiele für Werttypen. Sie werden im Stapel gespeichert. Wenn Sie einer anderen Variablen einen Wert zuweisen, wird der Wert an die neue Position kopiert. Daher sind zwei Kopien desselben Werts im Speicher vorhanden.
Die Referenztypen können in zwei Kategorien als benutzerdefinierte und vordefinierte Typen unterteilt werden. Beispiele für benutzerdefinierte Typen sind Klassen, Schnittstellen und Arrays. Eine Klasse wird zum Erstellen von Objekten verwendet. Eine Klasse besteht aus Datenmitgliedern und Methoden. Die Datenelemente beschreiben die Attribute und Methoden, die das Verhalten beschreiben. Eine Schnittstelle enthält nur die Deklaration der Mitglieder. Die Mitglieder sollten durch die abgeleitete Klasse definiert werden. Ein Array kann mehrere Elemente des gleichen Datentyps speichern.
Die vordefinierten Typen sind ein Objekttyp und ein Zeichenfolgentyp. Der Objekttyp ist der Basistyp für alle anderen benutzerdefinierten Typen. Die Objektreferenzen werden verwendet, um an ein Objekt eines bestimmten Typs zu binden. Die String-Literale werden in String-Objekten als Werte gespeichert. Operationen wie Kopieren, Vergleichen und Verketten können mit diesen ausgeführt werden. Dies sind einige Beispiele für einen Referenztyp. Die Referenztypen werden auf Heap gespeichert. Bei der Zuweisung einer Referenzvariablen zu einer anderen Referenzvariablen wird nur die Referenz kopiert. Der tatsächliche Wert bleibt gleich.
Werttyp vs. Referenztyp | |
Ein Werttyp enthält einen Datenwert in seinem eigenen Speicherbereich. | Ein Referenztyp enthält einen Zeiger auf einen anderen Speicherort, der die Daten enthält. |
Zuordnung | |
Beim Werttyp wird der Wert an den neuen Speicherort kopiert, sodass sich zwei identische Kopien desselben Werts im Speicher befinden. | Bei der Referenzart wird die Referenz kopiert, während der tatsächliche Wert gleich bleibt. |
Gespeicherter Standort | |
Ein Werttyp wird im Stapel gespeichert. | Ein Referenztyp wird auf dem Heap gespeichert. |
Beispiele | |
Int, float, double, struct, enum sind einige Beispiele für Werttypen. | Die Klasse, das Array und die Schnittstelle sind einige Beispiele für Referenztypen. |
Die Daten werden in reservierten Speicherstellen gespeichert, die als Variablen bezeichnet werden. Jede Variable speichert einen bestimmten Datentyp. Die Datentypen können in zwei Kategorien unterteilt werden. Sie sind Werttyp und Referenztyp. Der Unterschied zwischen dem Werttyp und dem Referenztyp besteht darin, dass ein Werttyp einen Datenwert in seinem eigenen Speicherbereich enthält, während ein Referenztyp einen Zeiger auf einen anderen Speicherplatz enthält, der die Daten enthält.
1.Werttyp und Referenztyp, TutorialsTeacher.com. Hier verfügbar
2. Balagurusamy, E. Programmierung in C #, eine Premiere. Vierte Auflage, McGraw Hill Education (India) Private Limited, 2016.