Kompaktkurs C# 6.0
von: Hanspeter Mössenböck
dpunkt, 2016
ISBN: 9783864919183
Sprache: Deutsch
329 Seiten, Download: 18949 KB
Format: EPUB, PDF, auch als Online-Lesen
Geleitwort | 5 | ||
Vorwort | 7 | ||
Inhalt | 9 | ||
1 C# und das .NET-Framework | 15 | ||
1.1 Ähnlichkeiten zwischen C# und Java | 15 | ||
1.2 Unterschiede zwischen C# und Java | 17 | ||
1.3 Das .NET-Framework | 18 | ||
1.4 Übungsaufgaben | 24 | ||
2 Erste Schritte | 25 | ||
2.1 Hello World | 25 | ||
2.2 Gliederung von Programmen | 26 | ||
2.3 Symbole | 27 | ||
2.4 Übungsaufgaben | 30 | ||
3 Typen | 31 | ||
3.1 Einfache Typen | 32 | ||
3.2 Enumerationen | 33 | ||
3.3 Arrays | 34 | ||
3.4 Strings | 37 | ||
3.5 Structs | 38 | ||
3.6 Klassen | 39 | ||
3.7 object | 40 | ||
3.8 Boxing und Unboxing | 41 | ||
3.9 Übungsaufgaben | 42 | ||
4 Ausdrücke | 45 | ||
4.1 Arithmetische Ausdrücke | 45 | ||
4.2 Vergleichsausdrücke | 46 | ||
4.3 Boolesche Ausdrücke | 47 | ||
4.4 Bit-Ausdrücke | 47 | ||
4.5 Shift-Ausdrücke | 47 | ||
4.6 Überlaufprüfung | 48 | ||
4.7 typeof | 48 | ||
4.8 sizeof | 49 | ||
4.9 Übungsaufgaben | 49 | ||
5 Deklarationen | 51 | ||
5.1 Deklarationen in Namensräumen | 52 | ||
5.2 Deklarationen in Klassen, Structs und Interfaces | 53 | ||
5.3 Deklarationen in Enumerationstypen | 54 | ||
5.4 Deklarationen in Blöcken | 54 | ||
5.5 Übungsaufgaben | 56 | ||
6 Anweisungen | 57 | ||
6.1 Leeranweisung | 57 | ||
6.2 Zuweisung | 57 | ||
6.3 Methodenaufruf | 58 | ||
6.4 if-Anweisung | 58 | ||
6.5 switch-Anweisung | 59 | ||
6.6 while-Anweisung | 60 | ||
6.7 do-while-Anweisung | 60 | ||
6.8 for-Anweisung | 60 | ||
6.9 foreach-Anweisung | 61 | ||
6.10 break- und continue-Anweisungen | 62 | ||
6.11 goto-Anweisung | 62 | ||
6.12 return-Anweisung | 63 | ||
6.13 Übungsaufgaben | 64 | ||
7 Ein-/Ausgabe | 65 | ||
7.1 Ausgabe auf den Bildschirm | 65 | ||
7.2 Formatierte Ausgabe | 65 | ||
7.3 Ausgabe auf eine Datei | 68 | ||
7.4 Eingabe von der Tastatur | 69 | ||
7.5 Eingabe von einer Datei | 69 | ||
7.6 Lesen der Kommandozeilenparameter | 70 | ||
7.7 Übungsaufgaben | 71 | ||
8 Klassen und Structs | 73 | ||
8.1 Sichtbarkeitsattribute | 74 | ||
8.2 Felder | 76 | ||
8.3 Methoden | 77 | ||
8.4 Konstruktoren | 84 | ||
8.5 Destruktoren | 86 | ||
8.6 Properties | 87 | ||
8.7 Indexer | 90 | ||
8.8 Überladene Operatoren | 92 | ||
8.9 Kurzform für Methoden | 95 | ||
8.10 Geschachtelte Typen | 96 | ||
8.11 Partielle Typen | 97 | ||
8.12 Partielle Methoden | 98 | ||
8.13 Statische Klassen | 99 | ||
8.14 Unterschiede zu Java | 99 | ||
8.15 Übungsaufgaben | 100 | ||
9 Vererbung | 103 | ||
9.1 Deklaration von Unterklassen | 103 | ||
9.2 Kompatibilität zwischen Klassen | 105 | ||
9.3 Überschreiben und Verdecken von Elementen | 106 | ||
9.4 Dynamische Bindung | 109 | ||
9.5 Konstruktoren in Ober- und Unterklasse | 112 | ||
9.6 Abstrakte Klassen | 113 | ||
9.7 Versiegelte Klassen | 114 | ||
9.8 Die Klasse Object | 115 | ||
9.9 Übungsaufgaben | 117 | ||
10 Interfaces | 119 | ||
10.1 Deklaration und Verwendung von Interfaces | 119 | ||
10.2 Operationen auf Interfaces | 121 | ||
10.3 Erweiterung von Interfaces | 122 | ||
10.4 Namenskonflikte | 123 | ||
10.5 Interface IDisposable | 124 | ||
10.6 Übungsaufgaben | 125 | ||
11 Delegates und Events | 127 | ||
11.1 Einfache Delegates | 127 | ||
11.2 Multicast-Delegates | 128 | ||
11.3 Erzeugen von Delegate-Werten | 128 | ||
11.4 Ereignisse (Events) | 130 | ||
11.5 Anonyme Methoden | 131 | ||
11.6 Übungsaufgaben | 133 | ||
12 Ausnahmen | 135 | ||
12.1 try-Anweisung | 135 | ||
12.2 Ausnahmeklassen | 137 | ||
12.3 Auslösen von Ausnahmen | 138 | ||
12.4 Ausnahmen in aufgerufenen Methoden | 140 | ||
12.5 Ausnahmen in Multicast-Delegates | 140 | ||
12.6 Übungsaufgaben | 141 | ||
13 Namensräume und Assemblies | 143 | ||
13.1 Namensräume | 143 | ||
13.2 Assemblies | 146 | ||
13.2.1 Assemblies und Module | 146 | ||
13.2.2 Versionierung von Assemblies | 147 | ||
13.2.3 Assemblies versus Namensräume | 150 | ||
13.3 Übungsaufgaben | 151 | ||
14 Generische Bausteine | 153 | ||
14.1 Generische Typen | 154 | ||
14.2 Constraints | 155 | ||
14.3 Vererbung bei generischen Typen | 156 | ||
14.4 Generische Methoden | 158 | ||
14.5 Generische Delegates | 159 | ||
14.6 Nullwerte | 161 | ||
14.7 Ko- und Kontravarianz bei generischen Typen | 161 | ||
14.8 Was geschieht hinter den Kulissen? | 165 | ||
14.9 Unterschiede zu Java | 165 | ||
14.10 Übungsaufgaben | 166 | ||
15 Threads | 169 | ||
15.1 Die Klasse Thread | 169 | ||
15.2 Zustände eines Threads | 172 | ||
15.3 Abbrechen eines Threads | 173 | ||
15.4 Thread-Synchronisation | 174 | ||
15.5 Übungsaufgaben | 179 | ||
16 Iteratoren | 181 | ||
16.1 Allgemeine Iteratoren | 181 | ||
16.2 Spezifische Iteratoren | 183 | ||
16.3 Übungsaufgaben | 186 | ||
17 Attribute | 187 | ||
17.1 Schreibweise von Attributen | 187 | ||
17.2 Parameter von Attributen | 188 | ||
17.3 Attribute für spezifische Programmelemente | 189 | ||
17.4 Attribut Serializable | 190 | ||
17.5 Attribut Conditional | 192 | ||
17.6 Attribut DllImport | 193 | ||
17.7 Deklaration eigener Attribute | 194 | ||
17.8 Übungsaufgaben | 195 | ||
18 Dokumentationskommentare | 197 | ||
18.1 XML-Elemente | 197 | ||
18.2 Erzeugte XML-Datei | 199 | ||
18.3 Übungsaufgaben | 200 | ||
19 Auszug aus der .NET-Klassenbibliothek | 201 | ||
19.1 Hilfsklassen | 202 | ||
19.2 Collections | 205 | ||
19.3 Ein-/Ausgabe | 214 | ||
19.4 Reflection | 220 | ||
19.5 Übungsaufgaben | 224 | ||
20 LINQ | 227 | ||
20.1 Motivation | 227 | ||
20.2 Lambda-Ausdrücke | 228 | ||
20.3 Erweiterungsmethoden | 232 | ||
20.4 Objektinitialisierer | 234 | ||
20.5 Anonyme Typen | 236 | ||
20.6 Query-Ausdrücke | 238 | ||
20.7 LINQ und XML | 245 | ||
20.8 Übungsaufgaben | 247 | ||
21 Asynchrone Methoden und Parallelität | 249 | ||
21.1 Asynchronität | 249 | ||
21.2 Tasks | 250 | ||
21.3 Asynchrone Methoden | 252 | ||
21.4 Explizite Parallelität | 258 | ||
21.5 Übungsaufgaben | 260 | ||
22 Interoperabilität mit COM | 261 | ||
22.1 COM-Objekte von .NET aus ansprechen | 262 | ||
22.2 .NET-Assemblies von COM aus ansprechen | 265 | ||
22.3 Übungsaufgaben | 267 | ||
23 Dynamisch getypte Variablen | 269 | ||
23.1 Typ dynamic | 269 | ||
23.2 Operationen auf dynamic-Variablen | 271 | ||
24 Diverses | 273 | ||
24.1 Null-fähige Werttypen | 273 | ||
24.2 Bedingter Zugriff über Referenzen | 276 | ||
24.3 using static | 277 | ||
25 Fallstudien | 279 | ||
25.1 Anwendungen mit grafischer Benutzeroberfläche | 279 | ||
25.2 Ein Web-Service für Börsenkurse | 288 | ||
25.3 Dynamische Webseiten mit ASP.NET | 293 | ||
25.4 Übungsaufgaben | 299 | ||
A Anhang | 301 | ||
A.1 Compileroptionen | 301 | ||
A.2 Werkzeuge unter .NET | 304 | ||
A.2.1 ildasm | 304 | ||
A.2.2 Globaler Assembly-Cache | 305 | ||
A.3 Grammatik von C# | 308 | ||
A.4 Unicode und ASCII | 315 | ||
Literatur | 317 | ||
Index | 319 | ||
www.dpunkt.de | 0 |