Die Eingabe bzw. Ausgabe von Werten erfolgt über den Namespace Console.
Ausgabe
Die Ausgabe von Inhalten erfolgt über die Methode Console.WriteLine()
.
Methoden sind Quelltexte, die einem ein Stück Arbeit abnehmen, sodass man nicht alles selber programmieren muss. Programmiersprachen bringen schon eine ganze Reihe an Methoden und Funktionen mit. Die in diesem Kapitel genutzen gehören dazu.
Die Methode WriteLine(*auszugebenderWert)
erfordert in den Klammern einen Wert, der dann ausgegeben werden soll. Der Typ des Wertes ist für uns ersteinmal egal, mit den vorerst genutzten Typen kann die Methode ohne Probleme umgehen.
1
2
Console.WriteLine("Wie heißt du?"); /* Ausgabe: "Wie heißt du?" */
Console.ReadLine(); /* Warten und nicht sofort beenden.*/
Eingabe
Wir wollen jetzt dafür sorgen, dass das Programm uns mit unserem Namen begüßt.
Dazu benötigen wir die Funktion Console.ReadLine()
. Funktionen sind ähnlich wie Methoden, sie sind vorgeschriebener Quellcode, der uns Arbeit abnimmt. Anders als Methoden haben Funktionen einen Rückgabewert. Diesen Rückgabewert müssen wir zwischenspeichern, wenn wir damit arbeiten wollen. Der Rückgabewert ist eine Zeichenkette, diese werden in C# als string
s bezeichnet.
Console.ReadLine()
ist also ein Ausdruck, den wir einer Variablen vom Typ string
zuweisen wollen: string Name = Console.ReadLine();
. Danach geben wir noch ein freundliches Hallo und unseren gerade eingelesenen Namen aus: Console.WriteLine("Hallo " + Name);
.
1
2
3
4
5
6
Console.WriteLine("Wie heißt du?"); /* Ausgabe: "Wie heißt du?" */
string Name = Console.ReadLine(); /* Die Eingabe in Name zwischenspeichern */
Console.WriteLine("Hallo " + Name); /* Ausgabe: "Hallo Pusteblume" */
Console.ReadLine(); /* Warten und nicht sofort beenden. */
Konvertierungen
Als nächstes wollen wir, dass das Programm unser Geburtsjahr einliest und uns unser Alter zurück gibt. Dazu müssen wir eine Zahl einlesen. Wenn wir diese Zahl einlesen, gibt uns Console.ReadLine()
die Zahl aber als string
- also als Zeichenkette - zurück: string Jahr = Console.ReadLine();
.
Mit Zeichenketten können wie aber nicht rechnen, sondern nur mit Zahlen. Um also mit eingelesenen "Zahlen" weiterrechnen zu können, müssen wir diese in das entsprechende Format umgewandeln - man sagt dazu auch konvertieren.
Funktionen für die Konvertierung stellt C# unter dem Namespace Convert
bereit. Namespaces sind momentan die Worte vor dem Punkt einer Funktion bzw. Methode. Der Namespace zum Ein- bzw. Auslesen über die Konsole ist also Console
. Da Jahreszahlen überlicherweise ganze Zahlen sind, brauchen wir einen Variablen-Typen, der mit ganzen Zahlen operieren kann. In C# können wir dazu zum Beispiel int
(voll ausgesprochen: integer) nutzen. Wir deklarieren also uns eine Variable, in die die gleich noch zu konvertierende Zahl gepackt werden soll: int zahlJahr
. Den Variablennname Jahr
können wir nicht mehr nutzen, weil die Variable ja schon als Zeichenkette deklariert wurde.
Wir müssen jetzt also noch die Zeichenkette Jahr
zu einem int
konvertieren: Convert.ToInt32(Jahr)
und der neuen Variablen zuweisen: int zahlJahr = Convert.ToInt32(Jahr);
. In Gänze sieht das dann so aus:
1
2
3
4
Console.WriteLine(Name + " , was ist dein Geburtsjahr?");
string Jahr = Console.ReadLine(); /* Geburtsjahr in die Variable Jahr einlesen */
int zahlJahr = Convert.ToInt32(Jahr); /* Konvertieren von Jahr zu einer ganze Zahl
und zuweisen nach zahlJahr */
Jetzt können wir noch unser Alter ausrechnen und es entsprechend stilvoll ausgeben ;)
1
2
int Alter = 2015 - zahlJahr; /* Alter ausrechnen */
Console.WriteLine(Name + " du bist ja schon " + Alter + " alt."); /* Alter ausgeben */
Bei der Eingabe des Geburtsjahres ist es wichtig, dass wir keinen Fehler machen, da die Funktion Convert.ToInt32()
nur mit reinen Zahlen umgehen kann. Wenn wir zum Beispiel Buchstaben eingeben, dass stoppt das Programm und die Entwicklungsumgebung gibt uns einen Fehler aus - nämlich den, dass die Funktion unsere Eingabe nicht ordentlich konvertieren konnte.