Grundlagen Teil 1 - Ein & Ausgabe

Im letzten Abschnitt haben wir uns mit dem Ausgeben von Texten beschäftigt.
Dazu verwendeten wir den Befehl:

Console.WriteLine("Text");

Grober Aufbau eines Befehls

Um diesen Befehl besser zu verstehen, folgt eine kurzer Erklärung wie es zu diesem Befehl kommt.
Wie vielleicht schon anderorts gehört, handelt es sich bei C# um eine Programmiersprache, welche auf sogenannten Klassen basiert. Unter einer Klasse kann man sich vereinfacht ausgedrückt ein Schublade mir mehreren Fächern vorstellen. Jedes dieser Fächer hat eine gewisse Funktion und wird auch Methode genannt.

Auf das Beispiel mit dem zuletzt verwendeten Befehl bezogen, ist Console eine Klasse (Schublade) mit der Methode (Fach) WriteLine(). Um Zugriff auf ein Methode (Funktion) einer Klasse (Schublade) zu bekommen, gibt es den Punkt.
Vereinfacht ausgedrückt übernimmt der Punkt die Prozedur des Hineingreifens in die Schublade und Auswählen eines Faches.

Der Aufbau ist also folgendermaßen:

Klassenname.Methode();

Wir wollen darauf jetzt nicht weiter eingehen, werden dies jedoch im Verlauf des Tutorials noch genauer erläutern.

Variablen, hab ich das schon mal gehört?

Im letzten Abschnitt hatten wir die Methode (Befehl)

Console.ReadLine();

Dabei hatten wir erwähnt, dass diese Methode (Befehl) dazu dient eine Zeile einzulesen,
sind jedoch nicht darauf eingegangen was mit dieser eingelesenen Zeile passiert. Hierfür gibt es die Variablen, sie erfüllen den Zweck etwas zu speichern, um es später wiederverwenden zu können.
Es gibt verschiedene Typen von Variablen, vorerst genügt es jedoch einen Typ vorzustellen.

Die string Variable
Dieser Variablentyp dient dem Speichern von Texten.
Man kann sich eine string Variable wie eine Schublade vorstellen, in der ein Text abgelegt wird und nach Bedarf wieder hervorgeholt wird.
Das Festlegen eine Variable, nennt man auch Definieren/Deklarieren und funktioniert folgendermaßen.

string Variablenname;

Man kann sich dies wieder als Befehl vorstellen, daher ist am Ende ein Strichpunkt erforderlich.

Befehl: Erstelle eine Variable (Schublade) vom Typ string, mit dem Namen Variablenname

Es seih hier erwähnt, dass ein Variablenname mit einem Buchstaben oder einem _ beginnen muss, danach jedoch auch Zahlen erlaubt sind. Außerdem ist die Groß / Kleinschreibung von Variablennamen entscheident, mit anderen Worten C# ist case sensitiv.

Einer string Variable einen Text zuweisen

Es ist recht simpel in einer string Variable einen Text abzuspeichern, dies erfolgt mittels eines = Zeichens.
Erinnern wir uns an Console.ReadLine(), diese Methode (Befehl) ermöglicht es eine Zeile einzulesen. Kombinieren wir dies mit einer string Variable und dem = Zeichen, kommt man auf folgenden Code.

string eingeleseneZeile = Console.ReadLine();

Bei diesem Beispiel würde unsere Variable eingeleseneZeile heißen.
Anzumerken ist, dass bei dem = Zeichen immer das Ziel links und die Quelle rechts stehen müssen.

Erinnern wir uns zurück an das Hallo Welt! Programm, dabei setzten wir den Text in Anführungsstriche damit Visual C#, diesen auch als Text erkennt. Anders ausgedrückt, wir haben Hallo Welt! durch die Anführungsstriche als string dargestellt. Betrachtet man diesen Umstand genauer, kann man daraus einige Informationen herauslesen.
Um den Zusammenhang anschaulicher darzustellen, fügen wir die zwei folgenden Zeilen zu unserem vorherigen Programm hinzu.

string variableHalloWelt = "Hallo Welt!";
Console.WriteLine(variableHalloWelt);

Dies sollte dann folgendermaßen aussehen:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Projekt1
{
      class Program
      {
            static void Main(string[] args)
            {
                  string variableHalloWelt = "Hallo Welt!";
                  Console.WriteLine(variableHalloWelt);
                  Console.WriteLine("Hallo Welt!");
                  Console.ReadLine();
            }
      }
}

Führen wir das Programm aus (F5 oder der grüne Pfeil), bekommen wir in der Konsole zwei mal Hallo Welt! angezeigt. Daraus schließen wir, dass es mittels der Console.WriteLine() Methode (Befehl) auch möglich ist, string Variablen in der Konsole auszugeben, da sie einen normalen Text repräsentieren.

Konsole Hallo Welt!2

Zusammenfassung

Es gibt Variablen vom Typ string, in denen man einen beliebigen Text abspeichern kann.
Das Abspeichern von Text erfolgt mittels des = Zeichens, dabei ist es egal ob es sich um Text in Anführungszeichen handelt oder um Methoden (Befehle), welche einen Text einlesen.

Mittels Console.WriteLine(Text) lässt sich ein beliebiger Text in die Konsole schreiben, wobei es nicht von Bedeutung ist, ob es sich um Text in Anführungszeichen oder um eine string Variable handelt, welche einen Text repräsentiert.

Console.ReadLine() dient dazu eine Zeile Text aus der Konsole auszulesen. Ausgelesen wird die Zeile nach einem Enter.
Im Programm selbst repräsentiert diese Methode einen Text (string Variable).

Beispiele

Zur Übung kann man sich überlegen, wie das Programm modifizieren werden müsste, damit nach dem Starten des Programms eine Zeile eingegeben wird und diese danach wieder ausgegeben wird.

Für die Lösung hier klicken. Bei Fragen und Problemen, bitte das Forum benutzen.

Lösung 1:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Projekt1
{
      class Program
      {
            static void Main(string[] args)
            {
                  string variableHalloWelt = Console.ReadLine();
                  Console.WriteLine(variableHalloWelt);
                  Console.ReadLine();
            }
      }
}

Lösung 2:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Projekt1
{
      class Program
      {
            static void Main(string[] args)
            {
                  Console.WriteLine(Console.ReadLine());
                  Console.ReadLine();
            }
      }
}

Mögliche Fehler

Wieder betrachten wir das Verhalten von Visual C#, bei einem typischen Fehler.
Als Beispiel wählen wir diesmal einen Tippfehler, bei der string Variable des letzten Programms.(Hier rot markiert)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Projekt1
{
      class Program
      {
            static void Main(string[] args)
            {
                  Console.WriteLine("Hallo Welt!");
                  string variableHalloWelt = "Hallo Welt!";
                  Console.WriteLine(variableHallooWelt);
                  Console.ReadLine();
            }
      }
}

Jetzt bekommen wir folgende Fehlermeldung in der Fehlerliste angezeigt:(je nach Formatierung kann die Zeile / Spalte variieren)

Beschreibung Datei Zeile Spalte Projekt
Der Name "variableHallooWelt" ist im aktuellen Kontext nicht vorhanden. Program.cs 14 31 Projekt1

Diese Fehlermeldung bedeutet schlichtweg nichts anders, als dass Visual C# diese Variable unbekannt ist, da wir sie nicht Festgelegt (Definiert) haben.
Dieser Fehler lässt sich wieder sehr einfach anhand der Angabe der Zeile ausmachen.