Lösungen zu den Übungsaufgaben
(H.Mössenböck: Kompaktkurs C# 7, dpunkt.verlag, 2019)
1. C# und das .NET-Framework
- Eignung von C# für große Softwareprojekte
- Merkmale von .NET
- Sicherheit
- Interoperabilität
- Assemblies
2. Erste Schritte
- Übersetzen und Ausführen eines Programms
- Arbeiten mit einer Entwicklungsumgebung
- Online-Dokumentation
- Programme in mehreren Dateien
- Symbole
3. Typen
- Typsystem
- Einfache Typen
- Enumerationen
- Enumerationen
- Arrays
- Arrays
- Arrays
- Strings
- StringBuilder
- Klassen
- Structs
- Klassen versus Structs
4. Ausdrücke
- Vorrangregeln von Operatoren
- Ergebnistyp von Ausdrücken
- Kurzschlussauswertung
- Vereinfachung boolescher Ausdrücke
- Laufzeittypinformationen
5. Deklarationen
- Namensräume
- Namensräume
- Gleichnamige Deklarationen
- Deklarationsregeln
- Sichtbarkeit von Namen
- Innere Anweisungsblöcke
6. Anweisungen
- If-Anweisung
- Switch-Anweisung
- Switch-Anweisung
- Schleifentransformation
- Suchschleife
7. Ein-/Ausgabe
- Entfernen von Kommentaren
- Formatierte Ausgabe
- Formatierte Ausgabe
- Formatierte Eingabe
8. Klassen und Structs
- Structs
- Klassen
- Statische Variablen und Methoden
- Structs und Properties
- Parameterarten
- Variable Anzahl von Parametern
- Kreuzreferenzliste
9. Vererbung
- Sichtbarkeitsattribute
- Kompatibilität zwischen Klassen
- Vererbung und Konstruktoren
- Typumwandlung
- Verdecken von Methoden
- Unterklassen
- Objektorientierter Entwurf
- Dynamische Bindung
- Abstrakte Klassen
- Methoden der Klasse Object
10. Interfaces
- Abstrakte Klassen und Interfaces
- Mehrfache Schnittstellenvererbung
- Interface IComparable
- Interface IDumpable
- foreach und Interfaces
11. Delegates und Events
- Sortieren beliebiger Arrays
- Trigger
- Ereignisse im Dateisystem abfangen
- Delegates mit Zustand
- Anonyme Methoden
12. Ausnahmen
- Nutzen der Ausnahmebehandlung
- Konvertierungsfehler
- Ausnahmen beim Öffnen einer Datei
- Eigene Ausnahmeklassen
- Hierarchie von Ausnahmeklassen
- finally
13. Namensräume und Assemblies
- Gleichnamige Typen aus verschiedenen Namensräumen
- Namensräume, Assemblies, DLLs
- Versionsprüfung
- Sicherheit
- Starke Namen
- Globaler Assembly-Cache
- Decodieren von Assemblies
14. Generische Bausteine
- Generischer Stack
- Vererbung
- Generische sortierte Liste
- Generischer binärer Suchbaum
- Liste von Listen
- Generische Methode
15. Threads
- Ein-/Ausgabe-Threads
- Dateivergleich
- Thread-Synchronisation
- Speisende Philosophen
- Vergleich zwischen C# und Java
16. Iteratoren
- Iterieren über eine Liste
- Iterieren über Bestandteile eines Domainnamens
- Iterieren über Felder einer Klasse
- Iterieren über einen Binärbaum
17. Attribute
- Conditional-Attribut
- Serialisierung
- Interface ISerializable
- Selbstdefiniertes Attribut
18. Dokumentationskommentare
- Kommentieren einer Klasse
- Formatierung der Kommentare
19. Auszug aus der .NET-Klassenbibliothek
- Datumsberechnung
- Dreiecksberechnung
- Minimaler Abstand von Punkten
- Normalverteilung
- Sortiertes Verzeichnis
- Zahlenfolge
- Ausgabe der Windows-Systemvariablen
- Telefonbuch
- Häufigkeitszählung von Wörtern
- Buchstabenstatistik
- Iterieren über Binärbäume
- Hauptspeicherströme
- Binäre Dateien
- Properties einer Klasse
- Scripting-Umgebung
20. LINQ
- Buchstabenextraktion
- Erweiterungsmethode Where
- Erweiterungsmethode Collect
- Koordinatentransformation
- Initialisierung von Objekten und Collections
- Query-Ausdruck mit Gruppierung
- Query-Ausdruck auf Metadaten
- Query-Ausdruck mit Join
- Erzeugung einer XML-Datei
21. Asynchrone Methoden und Parallelität
- Asynchrone Suche in Dateien
- Parallele Suche in Dateien
- Parallele Implementierung des "Spiel des Lebens"
22. Tupel
- Umwandlung von Sekunden in Uhrzeiten
- Tupel als Typparameter
- Arrays von Tupeln
- Geschachtelte Tupel
- Dekonstruktoren für Klassen
24. Interoperabilität mit COM
- Microsoft Agent
- Aufruf eines .NET-Programms unter COM
26. Fallstudien
- Taschenrechner
- Web-Service einer Buchhandlung
- Web-Oberfläche mittels ASP.NET
|