C# für Anfänger › Lektion 1.3 🛠 Level 2 · Deine Entwickler-Ausrüstung Die Brücke ist gebaut. Jetzt kommt der Testlauf! Entdecke die Werkzeuge hinter deinem C#-Programm und probiere aus, was beim Erstellen und Starten passiert. Die Abenteuerbrücke im Bild begleitet deinen Weg von build zu run.Die Welt von .NET und C#

🎒 Deine neuen Skills
- C#, .NET, SDK und IDE unterscheiden.
- Den üblichen Weg vom Quellcode zur Ausführung erklären.
- Projektdateien und Build-Ergebnisse finden.
- Ein Konsolenprojekt mit dotnet erstellen und starten.
Was du brauchst
Dein erstes C#-Programm und eine eingerichtete Entwicklungsumgebung.Für die Terminalaufgabe brauchst du ein installiertes .NET SDK. Ein älteres .NET-Framework-Projekt kann anders aufgebaut sein.1
Stell dir vor, du entwickelst ein kleines Abenteuerspiel. Seine Regeln schreibst du in C#. Zum Erstellen und Starten brauchst du außerdem Werkzeuge und eine Laufzeit. Die .NET-Bibliotheken liefern fertige Bausteine, zum Beispiel für Textausgaben.C# ist die Sprache. .NET liefert die Plattform.
| Begriff | Seine Aufgabe |
|---|---|
| C# | Die Programmiersprache: ihre Regeln bestimmen, wie du deinen Code schreibst. |
| .NET | Die Entwicklerplattform mit Laufzeit, Bibliotheken und Werkzeugen. Sie unterstützt auch andere Sprachen. |
| .NET SDK | Das Entwicklungspaket: Projekte erstellen, kompilieren und testen. Es enthält auch eine Laufzeit. |
| Runtime / Laufzeit | Führt passende, bereits erstellte Anwendungen aus. |
| Visual Studio / IDE | Die Arbeitsoberfläche mit Codeeditor, Debugger und Zugriff auf Entwicklungswerkzeuge. |
Vier Begriffe, vier Rollen
Ordne zu: Du schreibst eine Anweisung. Du erstellst ein Projekt. Du führst eine fertige Anwendung aus. Du setzt einen Haltepunkt im Editor. Welcher Begriff passt jeweils?Zuordnung prüfen
C# beschreibt die Anweisung; das SDK erstellt das Projekt. Die Laufzeit führt die Anwendung aus. In der IDE setzt du den Haltepunkt.
Die Namen haben eine Geschichte
| Name | Einordnung |
|---|---|
| .NET Framework | Die ursprüngliche Windows-Plattform; bestehende Anwendungen verwenden sie weiterhin. |
| .NET Core | Die plattformübergreifende Neuentwicklung, aus der das heutige .NET hervorging. |
| .NET ab Version 5 | Die Fortsetzung unter dem Namen .NET. .NET Framework bleibt eine eigene Produktlinie. |
2
Zuerst: Der C#-Compiler übersetzt deinen Quellcode in einen Zwischencode (IL).Beim Ausführen: Der JIT-Compiler übersetzt den benötigten IL-Code in Maschinencode für deinen Rechner.Für heute reicht: Du schreibst, die Werkzeuge übersetzen, dein Programm läuft.Wie dein Code zum laufenden Programm wird
1 · Dein Quellcode
Du schreibst C# in Program.cs.2 · Kompilieren
Der Compiler prüft den Code und erzeugt IL samt Metadaten.3 · Ausführen
Die Laufzeit lädt das Programm. JIT übersetzt benötigten Code für die Maschine.4 · Das Ergebnis
Deine Anweisungen laufen: Die Konsole zeigt deine Nachricht.Wann fällt der Fehler auf?
Du schreibst versehentlichConsol.WriteLine. Kann die neue Programmversion erfolgreich kompiliert werden?Erklärung anzeigen
Wenn Consol im Projekt nicht definiert ist, meldet der Compiler einen unbekannten Namen. Der neue Build schlägt fehl. Eine erfolgreiche Kompilierung würde dagegen noch keine fehlerfreie Programmlogik beweisen.
Extra: Läuft mein Programm auf jedem Gerät?
Zwischencode kann auf unterschiedlichen Systemen verwendet werden. Dazu müssen Laufzeit und benötigte Bibliotheken passen.Ein Windows-Forms-Programm ist beispielsweise für Windows bestimmt.
Warum gibt es zwei Übersetzungsschritte?
Der Prozessor führt Maschinenbefehle aus. Deinen C#-Quelltext muss deshalb ein Werkzeug übersetzen.Schritt 1: Quellcode → IL. Beim Erstellen des Projekts prüft der C#-Compiler deine Anweisungen. Er erzeugt unter anderem IL, die Intermediate Language, und Metadaten. IL ist eine Zwischensprache.Schritt 2: IL → Maschinencode. Bei der hier beschriebenen JIT-Ausführung übersetzt die Laufzeit den benötigten Code für den konkreten Rechner. JIT bedeutet just-in-time: Die Übersetzung geschieht, wenn der Code benötigt wird.Die Laufzeit übersetzt nicht unbedingt das gesamte Programm sofort beim Start. Diese Unterscheidung hilft dir später beim Verständnis größerer Anwendungen.Was bedeutet das für dein Abenteuer? Dein Quellcode beschreibt eine Aktion, etwa eine Nachricht an den Spieler. build bereitet das Projekt vor. Beim Ausführen arbeiten Laufzeit und Prozessor zusammen, damit die Nachricht erscheint.IL kann auf mehreren Betriebssystemen verwendet werden. Dafür müssen die passende Laufzeit und die benötigten Bibliotheken vorhanden sein. Eine Anwendung mit Windows Forms oder WPF bleibt an Windows gebunden.Lösung und Erklärung anzeigen
Extra: Andere Sprachen im Vergleich
C++: Bei der üblichen Kompilierung entsteht nativer Maschinencode für ein bestimmtes Zielsystem.C#: Im hier gezeigten .NET-Ablauf entsteht zunächst IL. JIT übersetzt benötigten Code während der Ausführung. Es gibt auch andere Bereitstellungsarten, etwa Native AOT.Python: Eine Python-Implementierung führt das Programm aus. Die verbreitete Implementierung CPython übersetzt den Quelltext zunächst in Bytecode und führt diesen mit ihrer virtuellen Maschine aus. Der genaue Ablauf hängt von der Implementierung ab.Die Sprache allein verrät somit nicht jede technische Einzelheit der Ausführung.3
Die unsichtbaren Helfer der Laufzeit
🧹 Speicherverwaltung
Der Garbage Collector gewinnt verwalteten Speicher nicht mehr erreichbarer Objekte zurück. Das passiert zu einem vom System bestimmten Zeitpunkt.🛡 Typprüfungen
Compiler und Laufzeit verhindern viele unzulässige Operationen. Eine Anwendung braucht trotzdem korrekte Logik und geeignete Tests.⚠ Ausnahmen
Eine Exception ist eine Meldung über einen bestimmten Laufzeitfehler. Ein Beispiel ist die Division einer ganzen Zahl durch null.Eine logisch falsche Rechnung kann dagegen ganz normal laufen. Soll dein Spieler fünf Münzen bekommen, du ziehst aber fünf ab, kann der Code trotzdem gültig sein. Darum prüfst du die Ergebnisse mit Tests.Der Compiler prüft also nicht, ob dein Spiel genau das tut, was du dir vorgestellt hast.📚 Bibliotheken
Die .NET-Bibliotheken liefern fertige Bausteine für Texte, Dateien, Mathematik und Netzwerke. Console ist ein Beispiel.Merke dir die Grenze
Der Garbage Collector schließt nicht automatisch jedes geöffnete Betriebssystem-Ressourcenobjekt sofort. Dateien und andere Ressourcen müssen passend freigegeben werden. Das lernst du später.4
Öffne den Projektordner aus dem Projektmappen-Explorer (Solution Explorer) in Visual Studio. Je nach Sprache der Oberfläche heißt der Befehl etwa „Ordner im Datei-Explorer öffnen“.Projekt-Detektiv: Was liegt in deinem Ordner?
Klicke im Projektmappen-Explorer mit der rechten Maustaste auf den Projektnamen. Wähle einen Befehl wie „Ordner im Datei-Explorer öffnen“. Jetzt siehst du die Dateien deines eigenen Projekts.| Datei / Ordner | Was du dort findest |
|---|---|
| Program.cs | Deinen C#-Quellcode. |
| Name.csproj | Die XML-Projektdatei mit Einstellungen, etwa dem Ziel-Framework. |
| bin | Ergebnisse eines Builds; häufig unter Debug und einem Framework-Unterordner. |
| obj | Zwischendateien, die die Entwicklungswerkzeuge erzeugen. |
Finde drei Spuren
Suche Program.cs, die .csproj-Datei und den bin-Ordner. Öffne die Projektdatei nur zum Lesen. Welches TargetFramework oder TargetFrameworkVersion findest du? Ändere es vorerst nicht.Deine Fundstücke prüfen
- Program.cs enthält deinen Code.
- Die .csproj-Datei enthält die Projekteinstellungen.
- Nach einem erfolgreichen Build liegt dessen Ergebnis gewöhnlich unter bin.
Läuft meine Anwendung ohne Visual Studio?
Ja, wenn die passende Laufzeit und die benötigten Dateien vorhanden sind. Eine selbstständig bereitgestellte Anwendung kann die Laufzeit mitbringen. Nur eine .exe-Datei auf einen anderen Rechner zu kopieren reicht nicht immer. Ein Konsolenfenster kann nach Programmende sofort schließen; starte das Programm zum Beobachten aus einem offenen Terminal.
Zusatzmission: Ohne Visual Studio starten
Erstelle dein Projekt erfolgreich. Öffne dann ein Terminal im Ordner mit der .csproj-Datei und starte es mit dotnet run. Was zeigt dir das über die Rolle von Visual Studio?Lösung und Erklärung anzeigen
Die Anwendung kann ohne geöffnete Visual-Studio-Oberfläche starten. dotnet run verwendet das installierte SDK und die Laufzeit.Du kannst auch die Build-Dateien untersuchen. Je nach Projekttyp gibt es eine Startdatei. Für einen Start auf einem anderen Rechner müssen Laufzeit, Betriebssystem und Begleitdateien passen. Kopiere deshalb nicht einfach nur eine einzelne .exe.Ein per Doppelklick geöffnetes Konsolenfenster kann sich nach Programmende sofort schließen. Im bereits geöffneten Terminal bleibt die Ausgabe sichtbar.
5
Was möchtest du später bauen?
Beim Erstellen eines Projekts wählst du eine Vorlage. Die Vorlage liefert einen passenden Anfang für eine bestimmte Anwendung. Die C#-Sprache verwendest du in vielen verschiedenen Projekttypen.Und Spiele? Auch in der Spieleentwicklung wird C# eingesetzt. Die Unity-Engine unterstützt C#-Skripte für Spielverhalten. Unsere Konsolenaufgaben üben zunächst die grundlegenden Anweisungen; ein grafisches Spiel braucht zusätzliche Werkzeuge und Kenntnisse. Unity: Programmieren mit C#| Projekttyp | Mögliches Ergebnis |
|---|---|
| Console App | Textausgaben und Eingaben im Terminal. |
| Windows Forms / WPF | Windows-Anwendungen mit Fenstern und Bedienelementen. |
| ASP.NET Core | Webanwendungen und Webdienste; C# arbeitet häufig auf dem Server. |
| .NET MAUI | Anwendungen mit gemeinsamem Code für unterstützte Mobil- und Desktopplattformen; passende Plattformwerkzeuge bleiben erforderlich. |
| Class Library | Wiederverwendbarer Code für andere Projekte. |
| Testprojekt | Automatisierte Prüfungen deiner Anwendung. |
Deine Idee zählt
Wähle eine Idee: Lernquiz, kleine Verwaltung oder Webanwendung. Welcher Projekttyp könnte passen? Begründe deine Entscheidung in einem Satz.Beispiellösung anzeigen
Lernquiz: Eine Console App reicht für Fragen und Texteingaben im Terminal.Kleine Windows-Verwaltung: Windows Forms bietet Fenster und Schaltflächen.Webanwendung: ASP.NET Core eignet sich für Funktionen auf einem Webserver.Andere begründete Lösungen sind ebenfalls möglich.
6
Unter Windows: Öffne deinen Dokumente-Ordner im Datei-Explorer, klicke in die Adressleiste, tippe Ein Programm direkt im Terminal starten
Öffne das Terminal Schritt für Schritt
- Drücke Windows + E. Der Datei-Explorer öffnet sich.
- Öffne deinen Dokumente-Ordner.
- Klicke oben in die Adressleiste mit dem Ordnerpfad. Die Suchleiste daneben ist eine andere Eingabe.
- Tippe cmd und drücke Enter.
- Das Terminal öffnet sich in diesem Ordner. Hier gibst du die folgenden Befehle ein.
cmd und drücke Enter. Verwende für das Beispiel einen Ort, an dem noch kein Ordner namens Hello existiert.Gib jeden Befehl einzeln ein. Diese Befehle gehören ins Terminal; dein C#-Code gehört in Program.cs.Terminal
dotnet --version
dotnet --list-sdks
dotnet --list-runtimes
dotnet new console -o Hello
cd Hello
dotnet build
dotnet run| Befehl | Bedeutung |
|---|---|
| dotnet --version | Zeigt die ausgewählte SDK-Version. |
| --list-sdks / --list-runtimes | Listen der installierten SDKs beziehungsweise Laufzeiten. |
| dotnet new console -o Hello | Erstellt ein Konsolenprojekt im neuen Ordner Hello. |
| cd Hello | Wechselt in diesen Ordner. |
| dotnet build | Erstellt das Projekt, ohne deine Anwendung zu starten. |
| dotnet run | Erstellt das Projekt bei Bedarf und führt es aus. |
Hello, World! aus. Deine Versionsnummern können von Beispielen anderer Rechner abweichen.Warum steht in Program.cs manchmal nur eine Anweisung?
Anweisungen auf oberster Ebene, die sogenannten top-level statements, erlauben eine kurze Programmform. Der Compiler erzeugt den Einstiegspunkt im Hintergrund. Die klassische Form mit Main ist ebenfalls gültig.
Der Befehl funktioniert nicht – was prüfe ich?
- dotnet unbekannt: SDK-Installation und Erreichbarkeit prüfen, danach ein neues Terminal öffnen.
- Kein SDK vorhanden: Eine Runtime allein reicht zum Erstellen des Projekts nicht.
- Projekt nicht gefunden: In den Ordner mit der .csproj-Datei wechseln.
- Hello existiert bereits: Einen neuen Namen wählen und auch beim cd-Befehl verwenden.
7
🎯 Mythenjagd: Prüfe die Behauptungen
„C# und .NET sind dasselbe.“
Falsch. C# ist die Sprache, .NET die Entwicklerplattform.
„Jedes C#-Programm läuft nur unter Windows.“
Falsch. Das heutige .NET unterstützt mehrere Betriebssysteme. Einzelne Anwendungsarten und Abhängigkeiten können plattformspezifisch sein.
„Die Dateiendung .exe verrät die komplette Übersetzungsart.“
Falsch. Der Aufbau hängt von Projekt und Bereitstellung ab. Eine .exe kann etwa als Starter für die Anwendung dienen.
„Ein erfolgreicher Build bedeutet, dass alle Ergebnisse richtig sind.“
Falsch. Der Compiler findet viele Syntax- und Typfehler. Logische Fehler brauchen geeignete Tests.
8
🎮 Mission: Starte dein Abenteuer im Terminal
- Öffne Program.cs im Hello-Projekt.
- Ersetze die vorhandene Ausgabe durch deine eigene Nachricht.
- Speichere und führe dotnet build aus. Deine Nachricht erscheint dabei noch nicht.
- Führe dotnet run aus und kontrolliere die Ausgabe.
- Ändere Console testweise in Consol, speichere und versuche erneut zu kompilieren. Lies die Meldung und korrigiere den Fehler.
Mini-Projekt prüfen
Console.WriteLine("Mein eigenes Programm ist gestartet!");build: Meldungen über die Erstellung, noch keine eigene Programmausgabe.run: Deine Nachricht erscheint.Consol: Bei diesem unbekannten Namen schlägt der neue Build fehl. Korrigiere ihn zu Console und starte erneut.Program.cs · C#
Console.WriteLine("Mein eigenes Programm ist gestartet!");Level-up: Dein Spiel startet
Schreibe zwei WriteLine-Anweisungen: zuerst den Namen eines erfundenen Spiels, danach eine Einladung zum Spielen. Prüfe die Reihenfolge der beiden Zeilen.Beispiellösung: Abenteuerstart
Console.WriteLine("Das Portal der Wolkeninsel");
Console.WriteLine("Dein Abenteuer beginnt jetzt!");Die Konsole zeigt zuerst den Spieltitel und danach die Einladung in einer neuen Zeile. In einem Main-Projekt gehören beide Anweisungen in Main.9
Ein Mitschüler sagt: „Ich habe Visual Studio. Also sind C#, SDK und Runtime dasselbe.“ Erkläre ihm die vier Rollen anhand deines eigenen Projekts.Erkläre es mit deinen eigenen Worten
Was sollte deine Erklärung enthalten?
Du schreibst in C#. Das SDK liefert Entwicklungswerkzeuge. Die Runtime führt die Anwendung aus. Visual Studio bündelt Editor, Debugger und Werkzeuge in einer Oberfläche.
10
🏁 Checkpoint: Was sitzt schon?
- In welcher Datei hast du die Nachricht geändert?
- Wo findest du Build-Ergebnisse?
- Wie unterscheiden sich build und run?
- Warum brauchst du trotz erfolgreicher Kompilierung Tests?
Antworten zur Wiederholung
- Die Nachricht steht in Program.cs.
- Build-Ergebnisse findest du gewöhnlich im bin-Ordner.
- build erstellt das Projekt; run startet es und erstellt es bei Bedarf vorher.
- Ein Programm kann trotz gültigem Code logisch falsche Ergebnisse liefern.
Dein neuer Überblick
Du kennst die Werkzeuge hinter deinem Programm, findest die Projektdateien und kannst eine Anwendung über das Terminal erstellen und starten. SDK, IL und JIT sind technische Zusatzbegriffe; wichtig ist vor allem, dass du den Ablauf am eigenen Beispiel erklären kannst.Deutsche Fachbegriffe
| Deutsch | Ungarisch |
|---|---|
| der Quellcode | forráskód |
| der Compiler | fordító |
| die Laufzeitumgebung | futtatókörnyezet |
| die Projektdatei | projektfájl |
| die Zwischensprache | köztes nyelv |
Extra: technische Details
Startdatei
Eine native Startdatei, der apphost, kann das Programm laden. Der IL-Code liegt dabei häufig in einer .dll.Projekt und Projektmappe
Eine Projektmappe, auf Englisch solution, kann mehrere zusammengehörige Projekte enthalten. Visual Studio verwendet dafür je nach Version beispielsweise .sln oder .slnx. Für heute erkennst du vor allem Program.cs und die .csproj-Datei.Eine andere Übersetzungsart
Native AOT erzeugt nativen Code bereits bei der Bereitstellung. Deshalb verwendet nicht jede .NET-Anwendung den hier erklärten JIT-Ablauf.Für Lehrkräfte: Einsatz im Unterricht
Einordnung
Die Lektion ergänzt den ungarischen Lernweg im Bereich Programmieren. SDK, IL und JIT sind technische Vertiefungen zur gewählten C#-Umgebung.Lehrplanvergleich
Die Zuordnung zu Österreich oder einem deutschen Bundesland erfolgt anhand des jeweiligen Lehrplans.Zeitplanung
- Kernbegriffe und angeleitete Aufgabe: etwa 45 Minuten.
- Eigene Challenge und Wiederholung: zusätzlich 10–15 Minuten.
Wenn das SDK fehlt
Die Terminalaufgabe kann als Demonstration durch die Lehrkraft durchgeführt werden.👾 Boss-Challenge: Brücke bauen, Testlauf starten
Ändere die Ausgabe in Program.cs zuDie Bruecke ist bereit!. Speichere. Führe zuerst dotnet build und danach dotnet run im Projektordner aus.Bei welchem Befehl erscheint deine Nachricht? Erkläre mit einem Satz, wozu der andere Befehl dient.🔓 Lösung und Erklärung öffnen
Console.WriteLine("Die Bruecke ist bereit!");dotnet build erstellt dein Projekt und meldet dabei mögliche Compilerfehler. dotnet run startet deine Anwendung und erstellt sie bei Bedarf vorher. Deine eigene Nachricht erscheint beim Ausführen mit run.Ein erfolgreicher Build ist der erste Checkpoint. Beim Testlauf prüfst du zusätzlich, ob die Ausgabe zu deiner Mission passt.🏆 Skill freigeschaltet: Du kannst dein Projekt erstellen, starten und die Ausgabe prüfen.
Dein C#-Lernweg
Als nächstes folgen Variablen und Datentypen: Dein Charakter bekommt Werte →Technische Quellen
Technische Kernbegriffe geprüft am 10. Oktober 2026.





