Suchen und Finden
Service
Infos und Kontakt
Inhaltsverzeichnis
5
Vorwort
8
1 Allgemeine Sprachkonzepte
10
1.1 Einführung und Geschichte
10
1.1.1 C#
10
1.1.2 Das .NET Framework
11
1.2 Installation und Werkzeuge
15
1.2.1 .NET Framework
15
1.2.2 Visual Studio 2005
16
1.3 Programmaufbau
18
1.3.1 Erste Schritte: Hallo Welt!
19
1.3.2 Bezeichner
22
1.3.3 Kommentare
24
1.4 Neues in C# 2.0 und .NET 2.0
27
2 Daten
29
2.1 Überblick
29
2.1.1 Grunddatentypen
29
2.1.2 Werte- und Verweistypen
30
2.2 Wertetypen
32
2.2.1 Ganzzahlige Typen (int, long)
32
2.2.2 Gleitkommatypen (float, double)
33
2.2.3 Dezimaltyp (decimal)
35
2.2.4 Wahrheitswerte (bool)
36
2.2.5 Zeichentyp (char)
36
2.2.6 Aufzählungstyp (enum)
37
2.2.7 Strukturtyp (struct)
39
2.2.8 Nullbare Typen
39
2.3 Verweistypen
40
2.3.1 Zeichenfolgen (String)
40
2.3.2 Arrays
41
2.4 Literale, Konstanten und Variablen
45
2.4.1 Literale
45
2.4.2 Konstanten
48
2.4.3 Variablen
49
2.5 Typkonvertierungen
50
2.5.1 Implizite Konvertierungen
50
2.5.2 Explizite Konvertierungen
51
2.5.3 Umwandlungen von und in Zeichenfolgen
52
2.5.4 Boxing und Unboxing
53
3 Ausdrücke und Anweisungen
54
3.1 Ausdrücke
54
3.1.1 Operatoren und Operanden
54
3.1.2 Aufbau von Ausdrücken
55
3.1.3 Auswertung von Ausdrücken
55
3.2 Operatoren
58
3.2.1 Arithmetische Operatoren
60
3.2.2 Stringverkettung
64
3.2.3 Bitweise Operatoren
65
3.2.4 Logische Operatoren
69
3.2.5 Vergleichsoperatoren
73
3.2.6 Bedingungsoperator
75
3.2.7 Nullverschmelzungsoperator
76
3.2.8 Zuweisungsoperatoren
77
3.2.9 Typoperatoren (typeof, sizeof, as, is)
77
3.3 Anweisungen
78
3.3.1 Leere Anweisung und Blöcke
78
3.3.2 Ausdrucksanweisungen
79
3.3.3 Auswahlanweisungen
79
3.3.4 Wiederholungsanweisungen
83
3.3.5 Sprunganweisungen
89
3.3.6 Fehlerbehandlung
92
3.3.7 Sonstige Anweisungen
93
4 Klassen und Objekte
94
4.1 Klassen
94
4.1.1 Klassendefinition
94
4.1.2 Verschachtelte Typen
95
4.1.3 Partielle Typen
96
4.1.4 Statische Klassen
97
4.1.5 Memberzugriff
98
4.1.6 Modifizierer
98
4.2 Felder und Konstanten
100
4.2.1 Instanzfelder
100
4.2.2 Klassenfelder
101
4.2.3 Konstanten
102
4.2.4 Schreibgeschützte Felder
102
4.3 Eigenschaften und Indexer
103
4.3.1 Eigenschaften
103
4.3.2 Indexer
105
4.4 Methoden
107
4.4.1 Parameter
108
4.4.2 Methodensignatur
112
4.4.3 Überladen von Methoden
112
4.4.4 Instanzmethoden
113
4.4.5 Klassenmethoden
114
4.4.6 Rekursive Methoden
114
4.5 Operatorenüberladung
116
4.5.1 Überladen von Vergleichsoperatoren
117
4.5.2 Überladen arithmetischer Operatoren
118
4.5.3 Konvertierungsoperatoren überladen
119
4.6 Konstruktoren und Destruktoren
120
4.6.1 Konstruktoren
120
4.6.2 Private Konstruktoren
121
4.6.3 Statische Konstruktoren
122
4.6.4 Destruktoren
123
4.6.5 Lebensdauer
124
4.7 Delegaten und Ereignisse
124
4.7.1 Delegaten
124
4.7.2 Anonyme Methoden
127
4.7.3 Ereignisse
127
4.8 Strukturen (structs)
129
4.9 Vererbung und Polymorphie
133
4.9.1 Vererbung
133
4.9.2 Polymorphie
136
4.9.3 Object – Basis aller Objekte
137
4.9.4 Typbestimmung und -umwandlung
138
4.9.5 Verdecken von Elementen
140
4.9.6 Überschreiben von Methoden
141
4.9.7 Dynamische Bindung
142
4.9.8 Dynamische Bindung, ein Beispiel
143
4.10 Schnittstellen und abstrakte Klassen
146
4.10.1 Schnittstellen
146
4.10.2 Abstrakte Klassen
155
4.10.3 Schnittstelle oder abstrakte Klasse
155
4.10.4 Versiegelte Klassen
156
5 Weiterführende OOP-Konzepte
157
5.1 Ausnahmebehandlung
157
5.1.1 Überblick
157
5.1.2 Ablauf der Ausnahmebehandlung
158
5.1.3 Die Exception-Klasse
159
5.1.4 Ausnahmen auslösen
160
5.1.5 Ausnahmen behandeln (try ... catch)
161
5.1.6 Ausführung sicherstellen (finally)
163
5.1.7 Benutzerdefinierte Ausnahmen
164
5.2 Generika (Generics)
165
5.2.1 Motivation
165
5.2.2 Generische Klassen
167
5.2.3 Generische Methoden
172
5.2.4 Generische Delegaten
173
5.3 Iteratoren
175
5.3.1 Verwendung von Iteratoren
175
5.3.2 Rekursive Iterationen
178
5.3.3 Nicht nur zum Durchlaufen
180
5.4 Namespaces
182
5.4.1 Deklaration
182
5.4.2 Verschachtelte Namespaces
183
5.4.3 Verwendung von Namespaces
184
5.5 Assemblies
188
5.5.1 Aufbau von Assemblies
188
5.5.2 Multi File Assemblies
191
5.5.3 Private Assemblies
192
5.5.4 Freigegebene Assemblies
193
5.5.5 Befreundete Assemblies
196
5.6 Attribute
197
5.6.1 Überblick
197
5.6.2 Vordefinierte Attribute
199
5.6.3 Benutzerdefinierte Attribute
199
5.7 Reflexion
202
5.7.1 Überblick
202
5.7.2 Laden von Assemblies
203
5.7.3 Untersuchen von Assemblies
203
5.7.4 Typen dynamisch erzeugen
205
5.7.5 Syntaxübersicht
206
6 Framework-Klassen
209
6.1 Die String-Klasse
209
6.1.1 Deklaration und Initialisierung
210
6.1.2 Länge von Zeichenfolgen
211
6.1.3 Teilfolgen abfragen, ersetzen und entfernen
211
6.1.4 Zeichenfolgen verketten
213
6.1.5 Zeichenfolgen vergleichen, durchsuchen und normieren
214
6.1.6 Vergleichsmodi und Sortierreihenfolgen
217
6.1.7 Zeichenfolgen formatieren
220
6.1.8 Kodierung von Zeichenfolgen
227
6.1.9 Sichere Zeichenfolgen: SecureString
227
6.1.10 Syntaxübersicht
228
6.2 Stringbuilder
231
6.2.1 Überblick
231
6.2.2 Syntaxübersicht
233
6.3 Reguläre Ausdrücke
234
6.3.1 Arbeiten mit regulären Ausdrücken
235
6.3.2 Suchen
236
6.3.3 Ersetzen
238
6.3.4 Aufteilen
240
6.3.5 Syntaxübersicht
240
6.4 Datums- und Zeitfunktionen
243
6.4.1 Die DateTime-Struktur
243
6.4.2 Die TimeSpan-Struktur
245
6.4.3 Datumsarithmetik
246
6.4.4 Die DateTimeFormatInfo-Klasse
247
6.5 Mathematische Funktionen
247
6.5.1 Die Klasse System.Math
247
6.5.2 Zufallszahlen mit System.Random
250
6.6 Auflistungen (Collections)
252
6.6.1 Schnittstellen für Auflistungen
252
6.6.2 Generische Auflistungen
255
6.6.3 Sortieren und Suchen
256
6.6.4 ArrayList und List
260
6.6.5 Hashtable und Dictionary
261
6.6.6 SortedList
264
6.6.7 Stack und Queue
264
6.6.8 Syntaxübersicht
265
7 GUI-Anwendungen mit WinForms
271
7.1 Grundlagen
271
7.1.1 »Hallo Welt!« – die grafische Variante
271
7.1.2 »Hallo Welt!« in Visual Studio
272
7.1.3 Grundbegriffe
272
7.2 Steuerelemente, Grundlagen
273
7.2.1 Control – gemeinsame Eigenschaften
273
7.2.2 Control – gemeinsame Methoden
276
7.2.3 Control – gemeinsame Ereignisse
277
7.2.4 Fokus, Zugriffstasten und Tabulatorreihenfolge
277
7.3 Standardsteuerelemente
280
7.3.1 Beschriftungen und statische Texte
281
7.3.2 Schaltflächen
283
7.3.3 Textfelder
286
7.3.4 Datums- und Zeitauswahl
296
7.3.5 Listenfelder
298
7.3.6 Regler, Scroll- und Fortschrittsbalken
309
7.3.7 Container
314
7.3.8 Sonstige Steuerelemente
321
7.3.9 Nicht sichtbare Steuerelemente
323
7.3.10 Benutzerdefinierte Steuerelemente
330
7.4 Menüs, Symbol- und Statusleisten
330
7.4.1 Objekthierarchie
330
7.4.2 Menüs
334
7.4.3 Symbolleisten
336
7.4.4 Statusleisten
338
7.4.5 ToolStripPanel und ToolStripContainer
339
7.4.6 ToolStripManager
340
7.5 Formulare
341
7.5.1 Formular-Member
341
7.5.2 Dialogfelder
343
7.5.3 Standarddialoge
343
7.5.4 Meldungsfelder
346
7.6 Die Application-Klasse
347
7.6.1 Anwendungen starten und beenden
347
7.6.2 Designs unter Windows XP
347
7.6.3 Startbildschirm (Splash Screen)
349
8 Grafikprogrammierung ( GDI+)
351
8.1 Einführung
351
8.1.1 Überblick
351
8.1.2 Das Koordinatensystem
352
8.1.3 Basisobjekte
355
8.1.4 Graphics – die Zeichenoberfläche
358
8.2 Grundlegende Grafikfunktionen
360
8.2.1 Zeichen- und Füllmethoden
360
8.2.2 Regionen und Clipping
367
8.2.3 Neuzeichnen des Fensterinhalts
370
8.2.4 Farben
372
8.2.5 Stifte als Zeichenwerkzeuge
380
8.2.6 Pinsel als Füllwerkzeuge
389
8.2.7 Texte und Schriftarten
396
8.2.8 Bilder und Metadateien
411
8.3 Fortgeschrittene Techniken
419
8.3.1 Kantenglättung (Antialiasing)
419
8.3.2 Scrolling
421
8.3.3 Tastatur- und Mausereignisse
423
8.3.4 Transformationen
430
8.3.5 Low-Level-Operationen
443
9 Ein- und Ausgabe
446
9.1 Dateisystem
446
9.1.1 Dateien und Verzeichnisse
446
9.1.2 Sicherheitsdeskriptoren
450
9.1.3 Dateisystem überwachen
456
9.1.4 Syntaxübersicht
457
9.2 Datenströme (Streams)
461
9.2.1 Stream – die Basisklasse
461
9.2.2 FileStream
465
9.2.3 MemoryStream
468
9.2.4 BufferedStream
470
9.2.5 GZipStream
470
9.2.6 CryptoStream
471
9.2.7 Arbeiten mit Binärdaten
474
9.2.8 Arbeiten mit Textdaten
475
9.2.9 Syntaxübersicht
480
9.3 Serialisierung
483
9.3.1 BinaryFormatter und SoapFormatter
483
9.3.2 XmlSerializer
486
9.4 Netzwerkkommunikation
488
9.4.1 Überblick
489
9.4.2 Netzwerkstatus und -informationen
489
9.4.3 Die Klasse TcpClient
494
9.4.4 E-Mails versenden
496
9.4.5 HTTP- und FTP-Zugriffe
500
9.4.6 Syntaxübersicht
506
10 Prozesse, Threads und Timer
512
10.1 Prozesse
512
10.1.1 Informationen über Prozesse
512
10.1.2 Informationen über Dienste
513
10.1.3 Informationen über Threads
514
10.1.4 Prozesse ausführen
515
10.1.5 Syntaxübersicht
517
10.2 Threads
519
10.2.1 Überblick
519
10.2.2 Die Thread-Klasse
520
10.2.3 Multithreading mit dem Thread-Pool
529
10.2.4 Die BackgroundWorker-Komponente
537
10.2.5 Threads und Windows Forms
540
10.2.6 Threads und Ausnahmen
542
10.2.7 Syntaxübersicht
544
10.3 Synchronisierung
546
10.3.1 Wettlaufbedingung
546
10.3.2 MethodImplOptions.Synchronized
548
10.3.3 Die Klasse Interlocked
549
10.3.4 Monitore und die lock-Anweisung
550
10.3.5 Lese-/Schreibsperren
556
10.3.6 Ereignisse, Semaphore und Mutexe
558
10.3.7 Verklemmungen (Deadlocks)
564
10.3.8 Syntaxübersicht
565
10.4Timer
567
10.4.1 System. Windows.Forms. Timer
567
10.4.2 System. Timers. Timer
568
10.4.3 System. Threading. Timer
571
10.4.4 Syntaxübersicht
573
A Anhang
574
A.1 Schlüsselwörter
574
A.2 Benennungsrichtlinien
575
A.3 Dokumentationskommentare
576
Stichwortverzeichnis
577
!
577
A
577
B
579
C
580
D
582
E
583
F
584
G
601
H
603
I
603
J
604
K
604
L
605
M
606
N
607
O
607
P
608
Q
610
R
610
S
611
T
614
U
615
V
616
W
616
X
617
Y
617
Z
617
Mehr eBooks vom gleichen Verlag
Spieleprogrammierung mit C++ und DirectX 9 in 21 Tagen, von: Alexander Rudolph, Preis: 14,95 EUR
Jetzt lerne ich VBA mit Excel, von: Bernd Held, Preis: 9,95 EUR
Windows 7. Bild für Bild - Sehen und können, von: Ignatz Schels, Preis: 9,99 EUR
Digitale Fotoschule. M und T easy - leicht - klar - sofort, von: Wolfgang Scheide, Preis: 19,95 EUR
Microsoft Office Word 2003 magnum, von: Caroline Butz, Gabriele Broszat, Preis: 14,95 EUR
Alle Preise verstehen sich inklusive der gesetzlichen MwSt.; Ersparnis im Vergleich zur Printversion
























