Im letzten Schritt (Zeige mir Text) hast du gelernt, wie du Text ausgibst. Jetzt lernst du, wie du Werte in deinem Programm merken kannst - mit Variablen.
Was ist eine Variable?
Eine Variable ist wie eine beschriftete Kiste im Speicher deines Computers. Du gibst ihr einen Namen und packst einen Wert hinein. Später kannst du über den Namen wieder auf den Wert zugreifen - oder einen neuen Wert hineinpacken.
Eine Variable anlegen
In C# musst du beim Anlegen einer Variable immer festlegen, welchen Datentyp sie hat - also welche Art von Wert in der Kiste liegen darf. Die allgemeine Schreibweise sieht so aus:
typ name = wert;
Zum Beispiel:
int alter = 12;
Console.WriteLine(alter);
C#-Datentypen (die wichtigsten)
Es gibt in C# viele Datentypen. Für den Anfang reichen dir diese fünf:
int - Ganze Zahlen
Speichert ganze Zahlen, also ohne Nachkommastellen. Positiv oder negativ.
int anzahl = 5;
int minuten = -30;
double - Kommazahlen
Speichert Zahlen mit Nachkommastellen. Das Komma wird in C# als Punkt geschrieben.
double preis = 4.99;
double temperatur = -3.5;
bool - Wahrheitswerte
Kann nur genau zwei Werte annehmen: true (wahr) oder false (falsch).
bool istFertig = true;
bool hatFehler = false;
char - Ein einzelnes Zeichen
Speichert genau ein Zeichen. Anders als bei Text wird hier mit einfachen Anführungszeichen gearbeitet.
char buchstabe = 'A';
char zeichen = '!';
string - Text
Den kennst du schon aus den letzten Schritten! string speichert Text und wird mit doppelten Anführungszeichen geschrieben.
string name = "Talutah";
Console.WriteLine("Hallo " + name + "!");
Gültigkeitsbereich (Scope)
Eine Variable existiert nicht überall in deinem Programm - sie hat einen sogenannten Scope (Geltungsbereich). Der Scope wird durch geschweifte Klammern { } festgelegt: Überall dort, wo du eine Variable anlegst, ist sie ab diesem Punkt bis zur nächsten schliessenden } gültig.
int x = 10;
Console.WriteLine(x); // funktioniert
{
int y = 20;
Console.WriteLine(y); // funktioniert, wir sind noch im Block von y
}
Console.WriteLine(y); // Fehler! y existiert hier nicht mehr
Die Methode Main, in der du bisher gearbeitet hast, ist selbst auch nur so ein Block. Alles, was du direkt in Main anlegst, ist auch nur innerhalb von Main gültig.
Kurz zusammengefasst: Eine Variable speichert einen Wert unter einem Namen, der Datentyp legt fest, was für ein Wert das sein darf (z.B. int, double, bool, char oder string), und der Scope bestimmt, in welchem Bereich deines Codes - also zwischen welchen geschweiften Klammern - die Variable überhaupt existiert.