C# für Sprachumsteiger

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.

 

Kontakt Prof. Richard Kaiser