Eine Programmiersprache ist für gegeben. Das Programm kann Daten mit Zahlen, Zeichen und Zeichenfolgen manipulieren und Informationen an den Benutzer erstellen. Eine Folge von Anweisungen, die in einer bestimmten Programmiersprache geschrieben wurden. In Programmiersprachen wie C#gibt es Tokens. Das sind Schlüsselwörter, Kennungen, Literale und Operatoren. Die reservierten Speicherorte zum Speichern von Daten werden als Variablen bezeichnet. Eine Variable kann einen Wert eines bestimmten Typs speichern. Die Datentypen können in Werttypen und Referenztyp unterteilt werden. Die Differenzierung zwischen Werttyp und Referenztyp hängt von zwei Merkmalen ab. Hier werden die Variablen im Gedächtnis gespeichert und wie sie sich mit einer Zuweisungsanweisung verhalten. In diesem Artikel wird die Differenz zwischen Werttyp und Referenztyp erörtert. Der Schlüsselunterschied Zwischen dem Werttyp und dem Referenztyp ist das Ein Werttyp enthält einen Datenwert in seinem eigenen Speicherplatz, während ein Referenztyp einen Zeiger auf einen anderen Speicherort hält, der die Daten enthält.
1. Überblick und wichtiger Unterschied
2. Was ist Werttyp
3. Was ist Referenztyp
4. Ähnlichkeiten zwischen Werttyp und Referenztyp
5. Seite für Seitenvergleich - Werttyp gegen Referenztyp in tabellarischer Form
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, Charaktertyp oder Dezimalart sein. Die numerischen Typen können Integraltypen, schwimmende Punkttypen und Dezimalarts sein. Integraltypen können weiter in signiert und nicht signiert eingeteilt werden. Die signierten Ganzzahlen können eine positive oder negative Anzahl speichern. Die SBYTE, Short, Int und Long sind signierte Datentypen.
Der Sybte ist ein Byte, Short ist zwei Bytes, int ist vier Bytes und lange ist acht Bytes. Der nicht signierte Typ speichert positive Werte. Das Byte, Ushort, Uint und Ulong sind die Beispiele für nicht signierte Typen. Die Gleitkomma-Typen können einen numerischen Wert mit einem Dezimalpunkt speichern. Der Float speichert den 32-Bit-Einzelgenauigkeitspunktwert und das Doppel wird zum Speichern von 64-Bit-Einzelgenauigkeitsschwimmpunkten verwendet. Der Dezimalart ist für hochpräzise Werte betrifft. Der Char -Datentyp wird verwendet, um ein einzelnes Zeichen im Speicher zu speichern. Manchmal ist es erforderlich, einen wahren oder falschen Wert zu speichern. Der Boolesche wird dafür 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 unterschiedlicher Typen. Es ähnelt einer Klasse. Das Schlüsselwort von 'Struct' wird verwendet, um eine Strukturvariable zu deklarieren. Ein Beispiel für die Struktur ist wie folgt.
Struktur Mitarbeiter
public int empno;
öffentlicher String -Name;
Aufzählungen werden verwendet, um die Lesbarkeit des Codes zu erhöhen. Es wird verwendet, um den Zahlen Namen zu geben. Das Schlüsselwort "Enum" wird verwendet, um eine Aufzählung zu deklarieren. Ein Beispiel für Enum ist wie folgt. e.G. - Enum Color schwarz, weiß, lila. Das Keyword des Enum -Schlüsselworts zählt automatisch eine Liste von Wörtern auf, indem sie Werte ab 0 zuweisen. Gemäß dem obigen Beispiel wird Schwarz mit 0 zugeordnet, Weiß ist mit 1 zugeordnet und Lila wird mit 2 zugeordnet. Wenn es als Enum Color schwarz, weiß = 3, lila geschrieben ist, wird das Schwarz mit 0 zugeordnet und Lila wird mit 4 zugeordnet. Das sind einige Beispiele für Werttypen. Sie werden im Stapel aufbewahrt. Bei der Zuweisung eines Wertes einer anderen Variablen wird der Wert an den neuen Standort kopiert. Daher gibt es im Speicher zwei Kopien desselben Wertes.
Die Referenztypen können in zwei Kategorien als benutzerdefinierte und vordefinierte Typen unterteilt werden. Einige Beispiele für benutzerdefinierte Typen sind Klassen, Schnittstellen und Arrays. Eine Klasse wird verwendet, um Objekte zu erstellen. Eine Klasse besteht aus Datenmitgliedern und Methoden. Die Datenmitglieder beschreiben die Attribute und Methoden das Verhalten. Eine Schnittstelle enthält nur die Erklärung der Mitglieder. Die Mitglieder sollten von der abgeleiteten Klasse definiert werden. Ein Array kann mehrere Elemente desselben Datentyps speichern.
Die vordefinierten Typen sind ein Objekttyp und einen String -Typ. 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, Vergleich und Verkettung können mit ihnen durchgeführt werden. Das sind einige Beispiele für einen Referenztyp. Die Referenztypen werden auf dem Haufen gespeichert. Bei der Zuweisung einer Referenzvariablen zu einer anderen Referenzvariablen wird nur die Referenz kopiert. Der tatsächliche Wert bleibt der gleiche.
Werttyp gegen Referenztyp | |
Ein Werttyp enthält einen Datenwert in seinem eigenen Speicherplatz. | Ein Referenztyp enthält einen Zeiger auf einen anderen Speicherort, der die Daten enthält. |
Abtretung | |
Im Werttyp wird der Wert an den neuen Standort kopiert, sodass im Speicher zwei identische Kopien desselben Wertes enthalten sind. | Im Referenztyp wird die Referenz kopiert, während der tatsächliche Wert gleich bleibt. |
Speicherort | |
Ein Werttyp wird im Stapel gespeichert. | Ein Referenztyp wird auf dem Haufen gespeichert. |
Beispiele | |
Die INT, Float, Double, Struct, Enum sind einige Beispiele für Werttypen. | Die Klasse, das Array, die Schnittstelle sind einige Beispiele für Referenztypen. |
Die Daten werden an reservierten Speicherorten 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. Die Differenz zwischen dem Werttyp und dem Referenztyp besteht darin, dass ein Werttyp einen Datenwert in seinem eigenen Speicherplatz enthält, während ein Referenztyp einen Zeiger auf einen anderen Speicherort hält, der die Daten enthält.
1.Werttyp und Referenztyp, TutorialStacher.com. Hier verfügbar
2.Balagurusamy, e. Programmierung in C#, eine Premierin. Vierter Aufl., McGraw Hill Education (India) Private Limited, 2016.