Schulung C#-Basiswissen (Grundlagen der Programmiersprache C#)
- Diesen Kurs führen wir wahlweise mit jeder C#-Version durch sowie nach Ihrem Wunsch mit jeder Version von .NET Framework oder .NET 5.0/6.0 durch.
- Wir empfehlen als Ergänzung das Schulungsmodul Csharp-Aufbauwissen, damit Sie alle Elemente der Sprache C# kennen.
- Im Rahmen dieses Schulungsmoduls werden auch - sofern nicht vorhanden bei den Teilnehmern - auch die Grundfunktionen von Visual Studio als Entwicklungsumgebung (insbesondere Projektsystem, Codeeditor, Compiler und Debugger) erklärt. Alternativ können wir andere Editoren wie VSCode verwenden.
- Für die Entwicklung einer .NET-Anwendung benötigen Sie zudem Wissen über die benötigten Teile der .NET-Klassenbibliothek. Wenn Sie die benötigen Klassen noch nicht kennen, beschreiben Sie in der Anfrage die zu erstellende Anwendungsart und den Datenbanktyp. Wir werden dann Ihnen ein passendes Angebot erstellen.
# Grundlagen Microsoft .NET (.NET Framework / .NET Core)
# Basiswissen
Architektur von C# auf Basis von .NET (.NET-Konzepte, auf denen C# aufbaut)
Standardisierung der Sprache bei ECMA/ISO
Grundprinzipien der Sprache und der Sprachsyntax
Compiler
Datentypen und Literale
Implizit typisierte lokale Variablen / Type Inference (ab C# 3.0)
Verbatim Strings und String Interpolation (ab C# 6.0)
Raw Literal Strings und UTF-8 String Literals (ab C# 11.0)
Nullable Values Types (ab C# 2.0)
Null Referenz-Prüfungen / Nullable Reference Types (ab C# 8.0)
Initializer
Operatoren
Bedingungen und Schleifen
Switch Expressions (ab C# 8.0)
Arrays und Objektmengen
Index und Range (ab C# 8.0)
# Objektorientiertes Programmieren mit Csharp
Namensräume
Objekte und Klassen (inklusive aller Besonderheiten wie z.B. abstrakte, statische und partielle Klassen)
Klassen versus Strukturen
Records (ab C# 9.0)
Sichtbarkeit für Typen (public, private, protected, file)
Operatoren typeof() und nameof()
Klassenmitglieder (Methoden, Properties, Fields, Konstruktoren)
Modifizierer für Klassenmitglieder (public, private, protected, readonly, required, …)
Statische Mitglieder
Named/Optional Parameters (ab C# 4.0)
Methoden überladen
Local Functions (ab C# 7.0) und Static Local Functions (ab C# 8.0)
Erweiterungsmethoden (Extension Methods) (ab C# 3.0)
Vererbung (Vererbungsregeln) und Polymorphismus
Abstrakte Klassen
Schnittstellen
Standardimplementierungen in Schnittstellen (ab C# 8.0)
Idisposable/using-Blöcke
Nutzung generischer Klassen
# Praxisszenarien
Erzeugung von Anwendungen (EXE)
Erzeugung und Einbindung von Klassenbibliotheken (DLL)
Nutzung externe Klassenbibliotheken via NuGet
# Weitere Sprachkonstrukte
Anonyme Typen (ab C# 3.0)
Tupel (ab C# 7.0)
Fehlerbehandlung (Exception Handling)
Exception Filters (ab C# 6.0)
Pattern Matching (ab C# 7.0)
Annotationen (Meta-Daten/.NET-Attribute) verwenden
Language Integration Query (LINQ) / Abfrageausdrücke (Query Expressions) (ab C# 3.0)
Lambda-Ausdrücke (Lambda Expressions) (ab C# 3.0)
Expression-bodied Members (ab C# 6.0)
Delegaten und Ereignisse (Events)
Asynchrone Programmierung
Asynchrone Programmierung mit async/await (ab C# 5.0)
Ausblick