Hey Zusammen und Willkommen in der 1. Lektion zu C#
Diese Lektion setzt die Vorabinformationen zu C# voraus.
Zum folgenden Ausführen und testen des Codes kann Visual Studio oder MonoDevelop von Unity verwendet werden, wie jede IDE, die C# unterstützt. Siehe hierzu die genannten Infos im Link (oben).
Da ich persönlich Visual Studio vorziehe werde ich entsprechend hier beschreiben wie ein neues Projekt zu starten ist.
Dieses Vorgehen zieht sich auch durch die weiteren Lektionen und wird daher nur einmalig hier erwähnt.
Öffnet "Visual Studio" => Erstellt ein neues Projekt => "Console App" bzw. "Konsolen Anwendung" im Deutschen.
Es sollte so aussehen:
Benennt diese sinnvoll z.B. als "Uebung1" oder ähnliches.
Wenn ihr alles richtig gemacht habt, sollte es in etwa so aussehen:
(Je nach Sprache mit unterschiedlichen Benennungen der Oberflächen Elemente. Ich bevorzuge Englisch, da mehr Support im Englischen Raum vorhanden ist, sollten Fragen vorhanden sein.)
=> Der Code in "Programm.cs" ist bzw. sollte jedoch gleich aussehen bzw. kann dies auch teils bei den "using ..." Zeilen abweichen. Dies tut an dieser Stelle jedoch nichts zur Sache.
In Zukunft wird vorausgesetzt, wie ein Projekt zu erstellen ist.
Für was die jeweiligen Bezeichner, Namensräume, etc. nun stehen, mag uns an dieser Stelle nicht interessieren. Wichtig ist für den Anfang nur zu wissen, dass euer "Code" in den geschweiften Klammern nach:
"static void Main(string[] args)" kommt.
Kopiert den folgenden Quellcode und ersetzt ihr in eurem Programm, sodass es so aussieht:
Wichtig! Es gilt nur
"static void Main(string[] args)
{
}"
zu ersetzen.
Wenn ihr nun "STRG + F5" zur selben Zeit drückt, führt ihr den Code aus.
Es sollte sich eine Konsole öffnen mit "Hello World" als Ausgabe.
Herzlichen Glückwunsch! Ihr habt euer erstes Programm geschrieben.
Nun etwas mehr Theorie:
Was waren die Elemente unseres Programms?
Wir hatten:
- Kommentar ( // Hier ein Kommentar)
- Namensraum (using System; , ...)
- Funktionsaufruf
- Bildschirmausgabe
Das wichtigste überhaupt - so meine ich zumindest: Der Kommentar.
Angenommen es existiert ein Programm mit über 2 Millionen Zeilen an Code ohne Kommentar, so würde keiner der Entwickler (nicht einmal man selber) das Programm nach einiger Zeit nachvollziehen können.
Kommentare werden folgendermaßen erzeugt:
/* Hier der Text oder die Beschreibung */ Dieser Kommentar geht über mehrere Zeilen. Z.B.
Kommentieren von Code ist sehr wichtig! Bitte verwendet sinnvolle Kommentare z.B.
"Das Programm / Die Funktion XY berechnet den Sachverhalt Z".
Kommentare wie "Dies ist eine Funktion" werden (außer zu Lehrzwecken) eher nicht sinnvoll in einem Programm für euch sein.
weiterhin hatten wir "class Program"
Der Name "Program" wäre beim Erstellen einer Klasse frei wählbar - mehr hierzu später.
"static void Main(string[] args)"
Dies ist die Funktion, die beim Starten des Programmes aufgerufen wird. Hier wird der PC das Programm starten.
Mehr dazu in einem späteren Kapitel.
{ ... }
Block Klammern, die mit einem "Beginn" und "Ende" eines Abschnittes gleichgesetzt werden können.
Sie finden unterschiedliche Verwendung.
"Console.WriteLine("Hello World");"
Dies ist eine 'Operation' zur formatierten Ausgabe auf der Konsole.
Beachtet: Jede 'Anweisung' endet in C# mit einem Semikolon ";"
Vergesst ihr diese, erhaltet ihr einen entsprechenden Fehler oder Hinweis der IDE.
=> Was hinter der Ausführung eines Programmes sich befindet / steckt (Compilieren, Interpretieren, etc. wird hier nicht behandelt.)
Hier ein Beispiel zur Berechnung von dem Pythagoras:
(Dieses Beispiel muss und kann an dieser Stelle noch nicht verstanden werden, zeigt jedoch eine Struktur, wie sie in einem Programm üblich ist.)
- using System;
- namespace Uebung_Pythagoras
- {
- class hypo
- {
- static void Main()
- {
- // Deklaration der Variablen
- double kA, kG, hypo;
- // Eingabe der Werte zur Berechnung
- Console.WriteLine("Bitte Ankathete eingeben:");
- string kAString = Console.ReadLine();
- kA = Convert.ToDouble(kAString);
- Console.WriteLine("Bitte Gegenkathete eingeben:");
- string kGString = Console.ReadLine();
- kG = Convert.ToDouble(kGString);
- // Berechnung und Zuweisen der Werte
- hypo = Math.Sqrt(kA * kA + kG * kG);
- // Ausgabe des Ergebnisses auf der Konsole
- Console.WriteLine("Hypothenuse = " + hypo);
- Console.ReadLine();
- }
- }
- }
Grundlegende Begriffe:
Deklaration (Vereinbarung) z.B.:
int i;
int l, g, h;
double f, a;
Initialisierung (Wertzuweisung) z.B.:
i = 6;
f = 4.6;
g = 7*i + h*h*(l-1);
Bei einer Variable, wie "i" oder "g" in unserem Beispiel, kann der Name frei gewählt werden.
Es gibt hier jedoch ein paar Ausnahmen, die sogenannten Schlüsselwörter.
Eine Auflistung dieser findet ihr hier.
Diese können als Variable nicht gewählt werden, da diese eine andere Bedeutung innerhalb C# besitzen.
Mehr über Variablen in Lektion 2.