Herzlich Willkommen zu meinem 2. C# Tutorial.
In diesem Tutorial werdet ihr
- vordefinierte Wertetypen zur Darstellung von Zahlen,Zeichen und Wahrheitswerten
- Literale einfacher Typen,String-Literale und Escape-Sequenzen
- Bezeichner, lokale Variablen und Konstanten
Wertetypen:
Ein Programm benutzt zur Lösung einer Aufgabe verschiedenartige Daten, zum Beispiel Zeichen, Ganzzahlen oder Gleitpunktzahlen. Da diese auf unterschiedliche Weise verarbeitet und gespeichert werden, muss der Typ der Daten bekannt sein. C# unterscheidet zwei Arten von Typen: Wertetypen und Referenztypen. Zu den Wertetypen gehören beispielsweise die einfachen Typen zur Darstellung von Zeichen, Zahlen und Wahrheitswerten. Jede Klasse hingegen ist ein Referenztyp.
Werte- und Referenztypen unterscheiden sich darin, wie im Programm auf die dargestellten Werte Bezug genommen wird. Sie bestimmen
- die Art der internen Darstellung der Daten
- die Größe des dazu benötigten Speicherplatzes und
- die Art der Operationen, die mit den Daten möglich sind.
So kann eine ganze Zahl wie -500 in 2,4 oder auch 8 Byte gespeichert werden. Wenn die Zahl im Speicher wieder gelesen wird, muss auf die richtige Anzahl Bytes zugegriffen werden. Außerdem ist das gelesene Bitmuster richtig zu interpretieren, nämlich als ganze Zahl mit Vorzeichen. Die Art der Operation kann zum Beispiel eine Addition oder eine Multiplikation sein.
C# stellt die nebenstehenden vordefinierten Wertetypen zur Verfügung. Die Typnamen sind Abkürzungen für Strukturtypen, die im Namensbereich System deklariert sind. Beispielsweise entsprechen den Namen short und int die Typen System.Int16 und System.Int32. Dabei sind die Ziffern ein Hinweis für den benötigten Speicherplatz in Anzahl Bits.
Die Typen bool und char:
Das Ergebnis eines Vergleichs oder einer logischen Verknüpfung mit UND bzw. ODER ist ein Wahrheitswert (boolescher Wert), der wahr oder falsch sein kann. Zur Darstellung boolescher Werte ist der Typ bool vorgesehen. Ein Ausdruck vom Typ bool besitzt den Wert true (wahr) oder false (falsch). Ein boolescher Wert beleget ein Byte im Speicher.
Der Typ char dient zur Speicherung von Zeichen. Jedem Zeichen ist eine ganze Zahl, der so genannte Zeichencode, zugeordnet, beispielsweise entspricht dem Zeichen A der Code 65 (dezimal). Die Zuordnung ist in C# durch den Unicode UTF-16 festgelegt, das ist ein 16-Bit-Zeichensatz, der die Codes von ca. 35.000 Zeichen aus 24 Sprachen definiert.
Zur Ausgabe von Zeichen auf dem Bildschirm werden die Zeichencodes übertragen und der >>Empfänger<<, also der Bildschirm, ist für die richtige Interpretation der Zeichencodes verantwortlich.
Darstellung ganzzahliger Typen:
Für das Arbeiten mit ganzen Zahlen stehen unterschiedliche Typen zur Verfügung, die sich durch Größe des benötigten Speicherplatzes und ihre Wertebereiche unterscheiden. Es können Ganzzahlen mit und ohne Verzeichen gebildet werden. Die Darstellung positiver Ganzzahlen basiert immer auf einer Potenzdarstellung zur Basis 2. Negative Zahlen werden mit Hilfe des Zweierkomplements gebildet, das heißt, das Bitmuster der entsprechenden positiven Ganzzahl wird invertiert und dann 1 hinzuaddiert.
Die Typen sbyte (>>signed byte<<), short, int und long werden standardmäßig mit Vorzeichen interpretiert, wobei intern das höchstwertige Bit das Vorzeichen bestimmt. Es können also positive und negative Zahlen dargestellt werden.
Die Typen byte,ushort, uint und ulong (u wie unsigned) hingegen werden ohne Vorzeichen interpretiert, das heißt, es werden nur positive ganze Zahlen dargestellt. Da das höchstwertige Bit nicht mehr als Vorzeichenbit fungiert, verdoppelt sich deshalb bei gleichem Speicherbedarf der Bereich der darstellbaren positiven Werte. Die Typen sbyte und byte beispielsweise belegen beide ein Byte Speicherplatz. Der Typ sbyte hat einen Wertebereich von -128 bis +127, wohingegen der Typ byte Werte von 0 bis 255 ermöglicht.
Der Typ char wird zur Darstellung von Unicode-Zeichen verwendet. Er gehört zu den ganzzahligen Typen. Allerdings ist es nicht möglich, mit Werten vom Typ char zu rechnen. In der nebenstehenden Tabelle sind die ganzzahligen Datentypen mit ihrem Speicherbedarf und dem entsprechenden Wertebereich zusammengestellt.
Hier einmal die Ganzzahligen Typen im Überblick.
| Typ | Speicherplatz | Wertebereich(dezimal) |
|---|---|---|
| sbyte | 1 Byte | -128 bis +127 |
| byte | 1 Byte | 0 bis 255 |
| char | 2 Byte | 0 bis 65535 |
| short | 2 Byte | -32768 bis +32767 |
| ushort | 2 Byte | 0 bis 65535 |
| int | 4 Byte | -2147483648 bis +2147483648 |
| uint | 4 Byte | 0 bis 4294967295 |
| long | 8 Byte | -9223372036854775808 bis +9223372036854775808 |
| ulong | 8 Byte | 0 bis 18446744073709551615 |
So das war es vorerst.
Teil 2 folgt mit Beispielprogrammen & Quelltexten, sowie dem Rest...
Liebe Grüße,
xXSaiuXx






