Inhalt „C# für Sprachumsteiger“
In diesem Seminar werden C# und Visual Studio 2022 umfassend und kompakt vorgestellt. Es richtet sich vor allem an Sprachumsteiger, die bisher mit C++ oder Java gearbeitet haben, und jetzt C# für den professionellen Einsatz lernen wollen.
Dieses Seminar fasst die Inhalte des C# Grundkurses und des C# Aufbaukurses zusammen, wobei die Einzelheiten mit den Teilnehmern individuell abgestimmt werden. Da es sich an Teilnehmer richtet, die sehr gute Programmierkenntnisse in C++ oder Java haben, liegt der Schwerpunkt auf den Unterschieden von C#. Deswegen wird das gesamte C# in 5 Tagen behandelt, und nicht in 10 Tagen wie beim Grund- und Aufbaukurs.
Die Inhalte können an die Wünsche der Teilnehmer angepasst werden.
1. Die Entwicklungsumgebung Visual Studio 2022
2. Elementare Datentypen und Anweisungen
Variablen: Feld- und Instanzvariablen, Lokale Variablen, Typ-Inferenz mit var
implizite Konversionen, checked Kontext
Der Gleitkommadatentyp Decimal (ein präziser Gleitkommatyp)
Elementare Anweisungen (if, for, while usw.)
Funktionen, Werte-, ref– und out-Parameter, Default-Argumente, benannte Parameter
Einfache Verweisklassen, Instanz-Elemente, Garbage Collection und statische Elemente
Die Verwendung der .NET-Bibliotheken
Konstanten und readonly Feldvariable
Wertetypen, Werte- und Verweissemantik, Aufzählungstypen
Die String-Klasse string
Überladene Methoden und Operatoren
Assemblies – Anwendungen und DLLs
Namensbereiche
Präprozessor-Direktiven
Ausdrücke
3. Arrays und Collection-Klassen
Eindimensionale Arrays und die foreach-Anweisung
Array-Funktionen für Verzeichnisse und Dateien
Die Basisklasse Array
Parameter-Arrays
Sequentielle Collection-Klassen (List<T>, Queue<T>, LinkedList<T>)
Generische Dictionaries, HashSet<T> und SortedSet<T>
4. .NET-Klassen zur Dateibearbeitung
Binärdateien und Textdateien
XML-Dateien
Serialisierung mit BinaryFormatter, SoapFormatter und XmlSerializer
5. Objektorientierte Programmierung: Verweisklassen
Felder und Methoden
Objekte, Datenkapselung und die Zugriffsrechte private und public
Datenkapselung mit Properties (Eigenschaften)
Konstruktoren, der Standardkonstruktor, Objektinitialisierer, this-Konstruktorinitialisierer
Finalisierer
Statische Elemente, Konstruktoren und Klassen
6. Vererbung und Komposition
Die Basisklasse System.Object und ihre Methoden
Konversionen zwischen abgeleiteten Klassen
Vererbung bei Werteklassen
Virtuelle Funktionen (new und override), späte Bindung und Polymorphie
Abstrakte Klassen und Methoden
Typprüfungen mit is und Typkonversionen mit as
Versiegelte (sealed) Klassen und Methoden
7. Exception-Handling
Die try-Anweisung
Die Basisklasse Exception
Einige vordefinierte Exceptions
throw-Anweisungen
Exceptions und Intellisense
Selbstdefinierte Exception-Klassen
Die Freigabe von Ressourcen, try-finally und die using-Anweisung
Die Protokollierung von Exceptions in einem EventLog
8. Interface-Klassen
Die Definition und Implementation
Beispiele: IComparable, IEnumerable, IClonable, IFormatable
9. Delegat-Typen und Events
Delegat-Typen und –Instanzen
Ereignisse (events)
Selbst definierte Komponenten und ihre Ereignisse
Anonyme Methoden
Lambda-Ausdrücke
10. Laufzeit-Typinformationen und Reflektion
Laufzeit-Typinformationen der Klasse Type
Reflektion mit der Klasse Assembly
Dynamisch erzeugte Datentypen und Plugins
11. Attribute
Vordefinierte Attribute
Selbstdefinierte Laufzeitattribute
12. Erweiterungsmethoden
13. Generische Programmierung
Generische Klassen
Typparameter-Einschränkungen (Constraints)
14. Asynchrone Programmierung und Threads
Multithreading
Kritische Abschnitte und die Synchronisation von Threads
16. Systeminformationen und –operationen
17. LINQ und PLINQ
18. Reguläre Ausdrücke
Über „C# für Sprachumsteiger“
Zielgruppe
Erfahrene Programmierer, die C# für den professionellen Einsatz lernen wollen.
Voraussetzungen: Gute C++-Kenntnisse
Unterrichtsstil
Vortrag mit vielen Beispielen, die das Wesentliche auf den Punkt bringen. Dabei wird auf einen ausgewogenes Verhältnis von Theorie und Praxis geachtet.
- Zu Beginn eines neuen Themas wird zunächst ein Überblick über die Einsatzmöglichkeiten, Grundideen und die Syntax gegeben. Diese werden an sorgfältig ausgewählten und bewährten Beispielen illustriert.
- Das Verständnis wird oft durch den Vergleich ähnlicher (auch älterer) Sprachelemente und ihrer Vor- und Nachteile vertieft. Dabei werden oft „best practises“ empfohlen.
- Falls die Teilnehmer ihr Wissen selbständig vertiefen wollen: Das Manuskript enthält zahlreiche praxisnahe Übungsaufgaben. Auf Wunsch können nach vorheriger Absprache auch Aufgaben aus der Arbeit der Seminarteilnehmer behandelt werden.
Falls sich im Lauf des Seminars zeigt, dass Grundlagen bei den Teilnehmern fehlen oder weitere Themen gewünscht werden, kann die Agenda auch noch während des Seminars an die Wünsche der Teilnehmer angepasst werden.
Schulungsunterlagen
Ausführliche und detaillierte Schulungsunterlagen (ca. 200 Seiten) – Vollständiger Text, keine Powerpoint Folien, die nur Stichworte enthalten. Deshalb können die Kursunterlagen auch als Referenz bei der Arbeit verwendet werden.
Ort und Zeit
Dieses Seminar wird als Firmenseminar (inhouse) angeboten. Die Durchführung als Präsenzseminar wird bevorzugt, ist aber auch als Online-Seminar möglich. Termine nach Vereinbarung.
Dauer: 5 Tage
Öffentliche Seminare von Prof. Richard Kaiser finden Sie bei der Technischen Akademie Esslingen.
Dozent
Prof. Richard Kaiser führt seit vielen Jahren Seminare für Firmen durch, vor allem über Software-Entwicklung und die Programmiersprachen C#, C++ und C. Er kennt die Anforderungen der Praxis und geht sowohl in den grundlegenden Konzepten als auch in den Einzelheiten detailliert darauf ein. Zu seinen Kunden gehören renommierte Weltkonzerne und kleine und mittelständische Unternehmen. Er ist der Verfasser mehrerer Bücher über C++, zuletzt „C++ mit Visual Studio 2019“. Er war viele Jahre Mitglied im DIN Normierungsausschuss Informationstechnik NI-22.