Kurz: C# erschien 2002 als Teil von .NET und wird von Anders Hejlsberg (auch Vater von Turbo Pascal und TypeScript) entworfen. Heute ist es quelloffen und plattformübergreifend.
Teil des Kurses C#
C# erschien 2002 als Teil von .NET und wird von Anders Hejlsberg (auch Vater von Turbo Pascal und TypeScript) entworfen. Heute ist es quelloffen und plattformübergreifend.
C# und .NET
| Begriff | Bedeutung |
|---|---|
| C# | die Programmiersprache |
| .NET | Laufzeit (CLR) und Klassenbibliothek; führt den Code aus |
| .NET SDK | Compiler + Werkzeuge (dotnet) zum Entwickeln |
| NuGet | Paketverwaltung (wie npm/pip) |
| ASP.NET Core | Framework für Webanwendungen und APIs |
| MAUI, WPF, WinForms | Oberflächen für Handy und Desktop |
| Unity | Spiele-Engine mit C# als Skriptsprache |
C#-Code wird zu IL (Zwischencode) übersetzt, den die Laufzeit per JIT in Maschinencode verwandelt. Ähnlich wie bei Java, aber mit modernen Sprachfunktionen. Mit Native AOT lassen sich auch eigenständige native Programme erzeugen.
Eigenschaften
- Statisch typisiert und objektorientiert, mit funktionalen Elementen
- Garbage Collector verwaltet den Speicher
- Null-Sicherheit: Der Compiler warnt vor möglichen
null-Zugriffen - LINQ: Datenabfragen direkt in der Sprache
- async/await: einfache asynchrone Programmierung
- Jährlich ein neues Release im November (C# 12 mit .NET 8 LTS, C# 13 mit .NET 9, …)
Installieren und starten
dotnet --version # Version prüfen
dotnet new console -o hallo # neues Projekt
cd hallo
dotnet run # übersetzen und ausführenEntwicklungsumgebungen: Visual Studio (Windows/Mac), VS Code mit C# Dev Kit, JetBrains Rider.
Dein erstes Programm
Program.cs
Console.WriteLine("Hallo, Welt!");Ausgabe:
Hallo, Welt!Seit C# 9 genügen Top-Level-Anweisungen: Der Code steht direkt in der Datei, kein Main und keine Klasse nötig. Das klassische Gerüst sieht so aus und tut dasselbe:
namespace Hallo;
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hallo, Welt!");
}
}Ausgabe:
Hallo, Welt!Merke
- C# ist die Sprache, .NET die Plattform; das SDK enthält Compiler und Werkzeuge
dotnet new console,dotnet runsind die wichtigsten Befehle- Top-Level-Anweisungen machen kleine Programme kurz
- C# ist statisch typisiert, mit Garbage Collector, LINQ und async/await
- Unity, ASP.NET Core und Windows-Anwendungen sind die Hauptanwendungen
Quiz zur Selbstkontrolle
Was ist .NET?
- Die Plattform mit Laufzeit und Klassenbibliothek, auf der C# läuft (richtig)
- Eine Datenbank
- Ein Browser
- Ein Texteditor
Welcher Befehl führt ein Projekt aus?
- dotnet run (richtig)
- dotnet start
- csharp run
- dotnet exec
Wofür ist NuGet?
- Paketverwaltung für .NET-Bibliotheken (richtig)
- Ein Debugger
- Ein Datentyp
- Ein Grafikprogramm
Weiter im Kurs
Weiter: Variablen, Typen und Ausgabe
Alle Kapitel: C# im Überblick