C# - Datentypen
Die Variablen in C# werden in die folgenden Typen kategorisiert −
- Werttypen
- Referenztypen
- Zeigertypen
Werttyp
Variablen vom Typ Wert kann direkt ein Wert zugewiesen werden. Sie werden von der Klasse System.ValueType abgeleitet .
Die Werttypen enthalten direkt Daten. Einige Beispiele sind int, char und float , das Zahlen, Alphabete bzw. Fließkommazahlen speichert. Wenn Sie einen int deklarieren Typ, weist das System Speicher zum Speichern des Werts zu.
Die folgende Tabelle listet die verfügbaren Werttypen in C# 2010 −
aufTyp | Vertritt | Bereich | Standardwert |
---|---|---|---|
bool | Boolescher Wert | Wahr oder Falsch | Falsch |
Byte | 8-Bit-Ganzzahl ohne Vorzeichen | 0 bis 255 | 0 |
Zeichen | 16-Bit-Unicode-Zeichen | U +0000 bis U +ffff | '\0' |
dezimal | 128-Bit-genaue Dezimalwerte mit 28–29 signifikanten Stellen | (-7,9 x 10 28 bis 7,9 x 10 28 ) / 10 0 bis 28 | 0.0M |
doppelt | 64-Bit-Gleitkommatyp mit doppelter Genauigkeit | (+/-)5,0 x 10 -324 zu (+/-)1,7 x 10 308 | 0.0D |
schweben | 32-Bit-Gleitkommatyp mit einfacher Genauigkeit | -3,4 x 10 38 bis + 3,4 x 10 38 | 0,0F |
int | 32-Bit-Ganzzahltyp mit Vorzeichen | -2.147.483.648 bis 2.147.483.647 | 0 |
lang | 64-Bit-Ganzzahltyp mit Vorzeichen | -9.223.372.036.854.775.808 bis 9.223.372.036.854.775.807 | 0L |
sbyte | 8-Bit-Ganzzahltyp mit Vorzeichen | -128 bis 127 | 0 |
kurz | 16-Bit-Ganzzahl mit Vorzeichen | -32.768 bis 32.767 | 0 |
uint | 32-Bit-Ganzzahl ohne Vorzeichen | 0 bis 4.294.967.295 | 0 |
ulong | 64-Bit-Ganzzahl ohne Vorzeichen | 0 bis 18.446.744.073.709.551.615 | 0 |
ushort | 16-Bit-Ganzzahl ohne Vorzeichen | 0 bis 65.535 | 0 |
Um die genaue Größe eines Typs oder einer Variablen auf einer bestimmten Plattform zu erhalten, können Sie sizeof verwenden Methode. Der Ausdruck sizeof(type) liefert die Speichergröße des Objekts oder Typs in Byte. Es folgt ein Beispiel, um die Größe von int zu ermitteln Geben Sie auf einer beliebigen Maschine −
ein Live-Demousing System; namespace DataTypeApplication { class Program { static void Main(string[] args) { Console.WriteLine("Size of int: {0}", sizeof(int)); Console.ReadLine(); } } }
Wenn der obige Code kompiliert und ausgeführt wird, erzeugt er das folgende Ergebnis −
Size of int: 4
Referenztyp
Die Referenztypen enthalten nicht die eigentlichen Daten, die in einer Variablen gespeichert sind, aber sie enthalten eine Referenz auf die Variablen.
Mit anderen Worten beziehen sie sich auf einen Speicherort. Unter Verwendung mehrerer Variablen können die Referenztypen auf einen Speicherplatz verweisen. Wenn die Daten im Speicherplatz durch eine der Variablen geändert werden, spiegelt die andere Variable automatisch diese Wertänderung wider. Beispiel für integriert Referenztypen sind:Objekt , dynamisch, und Zeichenfolge .
Objekttyp
Der Objekttyp ist die ultimative Basisklasse für alle Datentypen in C# Common Type System (CTS). Object ist ein Alias für die System.Object-Klasse. Den Objekttypen können Werte beliebiger anderer Typen, Werttypen, Referenztypen, vordefinierter oder benutzerdefinierter Typen zugewiesen werden. Vor dem Zuweisen von Werten ist jedoch eine Typkonvertierung erforderlich.
Wenn ein Werttyp in einen Objekttyp konvertiert wird, spricht man von Boxing und andererseits, wenn ein Objekttyp in einen Werttyp konvertiert wird, nennt man das Unboxing .
object obj; obj = 100; // this is boxing
Dynamischer Typ
Sie können jeden Werttyp in der Variablen des dynamischen Datentyps speichern. Die Typüberprüfung für diese Variablentypen findet zur Laufzeit statt.
Syntax zum Deklarieren eines dynamischen Typs ist −
dynamic <variable_name> = value;
Zum Beispiel
dynamic d = 20;
Dynamische Typen ähneln Objekttypen, mit der Ausnahme, dass die Typprüfung für Objekttypvariablen zur Kompilierzeit stattfindet, während die für die dynamischen Typvariablen zur Laufzeit stattfindet.
String-Typ
Der String-Typ können Sie einer Variablen beliebige Zeichenfolgenwerte zuweisen. Der Zeichenfolgentyp ist ein Alias für die System.String-Klasse. Es wird vom Objekttyp abgeleitet. Der Wert für einen Zeichenfolgentyp kann mithilfe von Zeichenfolgenliteralen in zwei Formen zugewiesen werden:Anführungszeichen und @anführungszeichen.
Zum Beispiel
String str = "Tutorials Point";
Ein @quoted-String-Literal sieht wie folgt aus −
@"Tutorials Point";
Die benutzerdefinierten Referenztypen sind:Klasse, Schnittstelle oder Delegat. Wir werden diese Typen in einem späteren Kapitel besprechen.
Zeigertyp
Variablen vom Zeigertyp speichern die Speicheradresse eines anderen Typs. Zeiger in C# haben die gleichen Fähigkeiten wie die Zeiger in C oder C++.
Die Syntax zum Deklarieren eines Zeigertyps ist −
type* identifier;
Zum Beispiel
char* cptr; int* iptr;
Wir werden Zeigertypen im Kapitel 'Unsichere Codes' besprechen.
C Sprache
- Die 4 primären Schlitzantriebstypen für Befestigungselemente
- Verschiedene Thermoelementtypen und -bereiche im Vergleich
- C#-Variablen und (primitive) Datentypen
- C#-Typkonvertierung
- C++-Datentypen
- C-Datentypen
- Python-Datentypen
- Python-Typkonvertierung und Typumwandlung
- Java-Datentypen (Primitiv)
- Java-Type-Casting