C# – Variablen und Datentypen

C# Anleitung

Variablen und Datentypen in C#

Voraussetzung:

• C# – Konsolenausgabe

Anwendungsbeispiel:

Kaum ein Programm kommt ohne Variablen aus.
Wenn Du einen Wert zwischenspeichern möchtest um mit ihm später weiter zu rechnen, brauchst Du eine Variable.

Tutorial Variablen und Datentypen in C#

Erklärung Variable

Ein Computerspeicher ist in Speicherzellen mit Adressen aufgebaut. Jeder Wert, der gespeichert wird, liegt in einer oder mehreren (je nach Größe) solcher Speicherzellen.
Wenn wir als Programmierer nun einen Wert überschreiben oder auslesen wollen, müssen wir wissen unter welcher Adresse wir ihn finden.
Aber da gibt es schon das erste Problem: Daten im Zwischenspeicher liegen immer dort, wo das Betriebssystem sie ablegt. Und das ist jedes mal nach Programmstart wo anders.

Daher gibt es in C# und in fast jeder anderen Programmiersprache sogenannte Variablen die wir benennen und müssen ab sofort nur noch diesen Name wissen, die Speicheradresse die dahinter steckt weiß das System.

Datentypen

In C# müssen wir dem Compiler sagen welchen Datentyp unsere Variable hat. Denn die verschiedenen Datentypen sind unterschiedlich groß. Bei Programmstart wird der gebrauchte Speicherplatz im Arbeitsspeicher reserviert, daher ist es für das System wichtig, zu wissen wie groß der gebrauchte Speicher sein wird.
Der Datentyp beschreibt was für ein Wert wir speichern wollen, also ob es Text, eine Ganzzahl oder Fließkommazahl z.B. ist.

Hier eine Tabelle mit den wichtigsten Datentypen in C#, ihre Größen und Wertebereiche.

Datentyp Inhalt Größe (in Bits) Wertebereich
byte positive Ganzzahlen 8 0 … 255
sbyte Ganzzahlen 8 -128 … 127
short Ganzzahlen 16 -215 … 215 -1
ushort positive Ganzzahlen 16 0 … 65535
int Ganzzahlen 32 -231 … 231 -1
uint positive Ganzzahlen 32 0 … 232 -1
long Ganzahlen 64 -263 … 263 -1
ulong positive Ganzzahlen 64 0 … 264 -1
float Fließkommazahlen 32 1,4 * 10-45 … 3,4 *1038
double Fließkommazahlen 64 5,0 * 10-324 bis 1,7 * 10308
decimal Kommazahl 128 (-7,9 * 1028 … 7,9 * 1028) / (100 bis 28)
char Zeichen 16 Unicode-Zeichen von 0 bis 65535
string Zeichenkette Variabel ca. 231 Unicode-Zeichen
bool true/false 8 true oder false
(Angaben aus msdn C#-Referenz)

In kleinen Programmen wie wir sie am Anfang programmieren, brauchen wir uns noch keine wirklichen Gedanken über den Speicherverbrauch machen, da dieser unbedeutend klein sein wird. Aber wenn man größere Programme entwickelt, wird dieses Thema ein wichtiges. Daher empfehle ich, von Anfang an sich anzugewöhnen den kleinstmöglichen Datentyp zu wählen.
Wissen wir z.B. dass in einer Variable maximal die Zahl 128 und nur positive Ganzzahlen stehen werden, wäre der Datentyp Byte die beste Wahl.

Eine Variable anlegen

Eine Variable legt man an, indem wir zuerst den Datentyp und dann den Name der Variable nennen. Dies nennt man Deklaration. Beispielsweise eine Variable vom Typ int mit dem Bezeichner (Name) myInt.

Bei der Namensvergabe hat man allerdings nicht alle Freiheiten. Wichtige Regeln sind:

• Der Bezeichner darf nur aus alphanumerischen Zeichen und dem Unterstrich bestehen (Also keine Leerzeichen oder andere Sonderzeichen)
• Ein einzelner Unterstrich darf nicht als Bezeichner gewählt werden
• Das erste Zeichen muss ein Unterstrich oder Buchstabe sein
• Jeder Bezeichner darf in seinem Sichtbarkeitsbereich nur einmal vorkommen
• Der Bezeichner darf nicht gleich heißen wie Schlüsselwörter, Objekte oder andere Begriffe die es schon gibt
(Achtung: Klassen sind eine Ausnahme. Bezeichner dürfen wie Klassen heißen. Aber für Programmieranfänger ist davon abzuraten!)
• Groß- und Kleinschrift wird beachtet (myInt ist nicht gleich myint)

Etwas zum mitdenken:

Sind folgende Variablendeklarationen richtig? Wenn nein, warum nicht?

1. int meine Zahl;
2. meineZahl int;
3. string 23Text;
4. bool myBool;
5. float decimal;

Lösung Anzeigen

Hinzufügend sei noch zu sagen, dass ein Programm Zeilenweise abgearbeitet wird. Also muss eine Variable deklaliert sein bevor man sie initialisiert und sie muss initialisiert sein bevor man mit ihr rechnet.

Einer Variable einen Wert zuweisen

Nun weißt Du wie man eine Variable anlegt. Der nächste Schritt ist sie zu befüllen, also einen Wert zuweisen (Initialisierung).
Auch hier gibt es Regeln, die vom Datentyp abhängig sind.
Grundlegend aber werden Werte einer Variable zugewiesen indem man den Variablenname nennt, dann den Zuweisungsoperator „=“ und dahinter den Wert, den die Variable annehmen soll.

Zuweisungen geschehen immer von rechts nach links. Das bedeutet, der Wert rechts vom Gleichzeichen wird der Variable links davon zugewiesen. Man kann auch direkt eine Rechnung mit einbeziehen.
Beispiel:

Der Variable myInt wird hier der Wert rechts vom Gleichzeichen zugewiesen, also 5 + 3. Es steht das Ergebnis der Rechnung in myInt, also 8.

Wenn wir nun aber folgenden Code schreiben, wird es eine Fehlermeldung seitens Visual Studio geben.

Bei String-Variablen gibt es nämlich die Besonderheit, dass der Wert in Anführungszeichen stehen muss. Ist das nicht der Fall, sucht Visual Studio nach einer Variable oder Methode mit diesem Namen.
Richtig ist also folgender Code um einer String-Variable einen Wert zuzuweisen.

Eine ähnliche Regel haben Char-Variablen. Hier sind es allerdings keine Anführungszeichen, sondern Hochkomma.

Char-Variablen dürfen über dies hinaus nur ein Zeichen beinhalten.

Alternativ kann direkt bei der Deklaration auch schon die Initialisierung vorgenommen werden. Das Funktioniert indem man die beiden Zeilen miteinander verbindet:

Variable mit Inhalt einer anderen Variable füllen

Oftmals muss man einer Variable den Wert einer anderen Variable zuweisen. Auch hier ist es nicht anders als bei der Zuweisung einer Konstanten, nämlich von rechts nach links.
Nehmen wir an wir haben die zwei int-Variablen zahl1 und zahl2. In zahl1 legen wir den Wert 5 ab und wollen nun, dass in zahl2 auch der Wert 5 steht, ohne die Konstante zu benutzen.
Eine Idee wie das funktioniert?

Variablen in der Console ausgeben

Manchmal möchte man dem Benutzer einen Variablenwert ausgeben. Wie man eine einfache Textausgabe realisiert, hast Du im letzten Tutorial gelernt. Wir möchten dieses Programm nun erweitern indem wir das Hallo Welt in eine string-Variable schreiben und nun diese Variable ausgeben.
Du solltest nun alles können um die Variable für die Ausgabe vorzubereiten, die Ausgabe selbst werden wir gleich behandeln. Versuche zuerst selbst die Variable anzulegen und zu befüllen, bevor Du hier weiter liest.

Bisher weißt Du wie man einen festen Text ausgibst, wir wollen nun Variablen in der Konsole ausgeben. Dafür gibt uns C# die Möglichkeit an einer beliebigen Stelle im Ausgabetext einen Platzhalter zu setzen und diesen mit dem Inhalt einer Variable zu ersetzen. Der Platzhalter besteht aus einem Index der zwischen geschweiften Klammern liegt (  „{0}“, „{1}“, … ).
Als nächstes müssen wir nurnoch dem Index eine Variable zuordnen. Das geschiet indem wir nach den Anführungszeichen innerhalb der geschlossenen Klammer der WriteLine-Methode ein Komma setzen und den Variablenname.
Dabei wird die erste Variable die folgt, dem Index 0, die zweite dem Index 1 usw zugeordnet.
Dein Code sollte nun so aussehen (Wobei die Variablendeklaration und Initialisierung wie oben gelernt natürlich auch getrennt sein können):

Probiere ein bisschen herum um Dich mit diesem System vertraut zu machen. Tausche die Variablen, füge neue hinzu, oder anderes. Auch Fehler zu machen ist gut, denn daraus kann man lernen.

Zum nächsten Tutorial  >> Ausdrücke und Operatoren in C#

Vielleicht gefällt Dir auch...

4 Antworten

  1. 27. Januar 2015

    […] C# – Variablen und Datentypen […]

  2. 29. Januar 2015

    […] C# – Variablen und Datentypen […]

  3. 30. Januar 2015

    […] C# – Variablen und Datentypen […]

  4. 24. Februar 2015

    […] Eine Tabelle für die verschiedenen Datentypen findest Du im Tutorial Variablen und Datentypen in C#. […]

Schreibe einen Kommentar