Inhaltsverzeichnis

Alle Kapitel aufklappen
Alle Kapitel zuklappen
An den Leser
2
Schrödingers Büro
4
Schrödingers Werkstatt
6
Schrödingers Wohnzimmer
8
Impressum
10
Inhaltsverzeichnis
12
1 Ein guter Start ist der halbe Sieg: Compiler und Entwicklungsumgebungen
27
Compiler und Compiler
28
Hallo Schrödinger
31
Du brauchst eine IDE!
35
Visual Studio Community Edition
36
Der Spaß geht los!
37
Theorie und Praxis
40
Was gelernt!
42
2 Ein netter Typ: Datentypen und deren Behandlung
43
Dieses Glas für diesen Wein
44
Grundlagen im Kamelreiten
48
Übungen für den Barkeeper
50
Rechnen mit Transvestiten
51
Ja oder nein?
56
Was gibt’s zu essen?
57
Das ständige Hin und Her zwischen ja und nein
58
Gut kommentieren!
59
Kommentare im Einsatz
60
Andere für sich denken lassen
60
Compiler-Spiele
61
Viele neue Freunde
62
3 Alles unter Kontrolle: Bedingungen und Schleifen
63
Bedingungen
64
In der Kürze liegt die Würze
67
Durch Variationen bleibt es interessant
68
Der Herr der Fernbedienung
70
Ist noch Bier da?
72
Einer von vielen
73
Zwillinge
75
Ein Schuhschrank muss her
78
Arbeiten in den Tiefen des Schuhschranks – von Kopf bis Fuß
79
Die ganze Welt ist Mathematik und aller guten Dinge sind drei vier
81
Schau’s dir an mit dem Debugger
82
Solange du nicht fertig bist, weitermachen …
83
Ich habe es mir anders überlegt
84
Oder mach doch weiter …
85
Zurück zu den Schuhschränken
86
Wenn aus einem Schuhschrank eine Lagerhalle wird
87
Wiederholung, Wiederholung!
89
Code muss man auch lesen können
90
4 Sexy Unterwäsche – von kleinen Teilen bis gar nichts: Strings, Characters und Nullable Types
93
Zeichenketten – Strings
94
Kleine Teile – einzelne Zeichen
95
Kleine und große Teile
96
Einfacher und schneller
97
Neuerungen in C# 6 bei der String-Formatierung
100
Etwas Besonderes sollte es sein
101
Verdrehte Welt
102
Sein oder nicht sein?
105
Nichts im Einsatz
107
Damit bei so viel null nichts verloren geht
108
5 Eine endliche Geschichte: Enumerationen
109
Rot – Gelb – Grün
110
Tageweise
112
Tell me why I don’t like mondays …
115
WoW-Völker
116
Auf wenige Sätze heruntergebrochen
118
6 Teile und herrsche: Methoden
119
Teilen statt Kopieren
120
Originale und überteuerte Kopien
123
Eins ist nicht genug
126
Ich rechne mit dir
127
Wenn sich nichts bewegt und alles statisch ist
128
Ich hätte gerne das Original!
128
Sommerschlussverkauf – alles muss raus
129
Tauschgeschäfte, die nicht funktionieren
131
Ich will das ganz anders oder auch gar nicht – Methoden überladen
132
Das Ganze noch einmal umgerührt
135
Ein knurrender Magen spornt bestimmt zu Höchstleistungen an
137
Eine kleine Zusammenfassung für dich
138
7 Klassengesellschaft: Objekte, Eigenschaften und Sichtbarkeiten
139
Mein Alter, meine Augenfarbe, mein Geburtsdatum
140
Eine Aufgabe für den Accessor
144
Ich sehe was, was du nicht siehst
145
Eigenschaften aufpoliert und bereit für die Bühne
146
Tanzen mit Elvis – wenn keiner da ist, ist keiner da
148
Geheimniskrämerei und Kontrollfreak
149
Darf ich jetzt oder nicht?
150
Zusammen was zusammengehört!
154
Zusammen und doch getrennt
156
Laufen, kämpfen, sterben
158
Vom Leben und Sterben
159
Geburtenkontrolle
160
Mehrlingsgeburt
163
Partielle Klassen und Strukturen
164
Pfeile über Pfeile – oder Vektoren, wie es mathematisch heißt
165
Meine partiellen Daten
166
Seltenes nochmal betrachtet
167
Gelernt ist gelernt!
170
8 Es wird Zeit für Übersicht! Namespaces
171
Eine Ordnung für die Klassen
172
Was ist denn nur in diesem Namespace vorhanden?
175
Vorhandene Systembausteine
177
Wo sind nur diese Bausteine?
179
Mathematik für Einsteiger
181
Nochmals finden, was scheinbar nicht da ist
182
Zum Mitnehmen
182
9 Erben ohne Sterben: Objektorientierte Programmierung
183
Geisterstunde
184
Schleimgeister sind spezielle Geister
186
Fünf vor zwölf
188
Geister fressen, Schleimgeister fressen, Kannibalen fressen – alles muss man einzeln machen
194
Enterben
195
Geister haben viele Gestalten
195
Geister, die sich nicht an die Regeln halten
198
Gestaltwandler unter der Lupe
199
Nochmals drüber nachgedacht
200
Hier noch ein Merkzettel
204
10 Abstrakte Kunst: Abstrakte Klassen und Interfaces
205
Unverstandene Künstler
208
Das Meisterwerk nochmals betrachtet
210
Abstrakte Kunst am Prüftisch
211
Allgemein ist konkret genug
213
Fabrikarbeit
214
Alles unter einem Dach
215
Kaffee oder Tee? Oder doch lieber eine Cola?
216
Kaffeemaschine im Einsatz
218
Eine Cola bitte
220
Freundin vs. Chef – Runde 1
222
Bei perfekter Verwendung …
223
Freundin vs. Chef – Runde 2
224
Freundin vs. Chef – Runde 3
226
Abstraktion und Interfaces auf einen Blick
227
11 Airbags können Leben retten: Exceptionhandling
229
Mach’s stabil!
230
Einen Versuch war es wert
232
Nur unter bestimmten Umständen
235
Fehler über Fehler
236
Über das Klettern auf Bäume
240
Klettern auf nicht vorhandene Bäume – NullReferenceException
240
Auf Sträucher klettern – FormatException
241
Sträucher im Sägewerk – ArgumentException
242
Bezahlung ohne Ware – ArgumentNullException
242
Bewusste Fehler
243
Selbst definierte Fehler
244
Fehler in freier Wildbahn
245
Das Matruschka-Prinzip
246
Alles noch einmal aufgerollt
248
Dein Fehler-Cheat-Sheet
252
12 Ein ordentliches Ablagesystem muss her: Collections und Laufzeitkomplexität
253
Je größer der Schuhschrank, desto länger die Suche
254
Komplizierte Laufschuhe
255
Geschwindigkeitsprognosen
258
Es muss nicht immer gleich quadratisch sein
260
Geschwindigkeitseinschätzung und Buchstabensuppe
263
Selbstwachsende Schuhschränke
266
Eine Array-Liste
267
Ringboxen
268
Listige Arrays und ihre Eigenheiten
269
Listige Arrays und ihre Verwendung
269
The Need for Speed
270
Es wird konkreter
271
Sortieren bringt Geschwindigkeit – SortedList
272
Listenreiche Arbeit
274
Es geht noch schneller!
276
Im Rausch der Geschwindigkeit
278
Dictionary-Initialisierung in C# 6
280
Wörterbücher in der Anwendung … oder was im Regelfall schiefgeht
281
Von Bäumen und Ästen
285
Ein Verwendungsbeispiel
286
Alles eindeutig – das HashSet
287
Schnelles Arbeiten mit Sets
288
Das große Bild
290
Der große Test, das Geheimnis und die Verwunderung
293
Noch einmal durchleuchtet
298
Dein Merkzettel rund um die Collections aus Laufzeiten
303
13 Allgemein konkrete Implementierungen: Generizität
305
Konkrete Typen müssen nicht sein
306
Das große Ganze
307
Mülltrennung leicht gemacht
308
Der Nächste bitte
311
Allgemein, aber nicht für jeden!
313
Immer das Gleiche und doch etwas anderes
315
Fabrikarbeit
317
Aus allgemein wird konkret
318
Hier kommt nicht jeder Typ rein.
319
Ähnlich, aber nicht gleich!
320
Varianzen hin oder her
322
Varianzen in der Praxis
325
WoW im Simulator
328
Damit’s auch hängen bleibt
330
14 Linke Typen, auf die man sich verlassen kann: LINQ
331
Linke Typen, auf die man sich verlassen kann
332
Shoppen in WoW
335
Gesund oder gut essen?
338
Listen zusammenführen
339
Fix geLINQt statt handverlesen
347
Merkzettel
350
15 Blumen für die Dame: Delegaten und Ereignisse
351
Ein Butler übernimmt die Arbeit
352
Im Strudel der Methoden
355
Die Butlerschule
358
Ereignisreiche Tage
361
Eine Runde für alle
364
Auf in die Bar!
365
Wiederholung, Wiederholung
369
Die delegierte Zusammenfassung
372
16 Der Standard ist nicht genug: Extension-Methoden und Lambda-Expressions
373
Extension-Methoden
374
Auf die Größe kommt es an
378
Erweiterungen nochmals durchschaut
380
Softwareentwicklung mit Lambdas
382
Lambda-Expressions auf Collections loslassen
385
Ein Ausritt auf Lamas
386
Filtern
386
Gruppieren
388
Verknüpfen
389
Gruppieren und Verknüpfen kombiniert
390
Left Join
391
VerLINQte LAMbdAS
393
Lamas im Schnelldurchlauf
396
17 Die Magie der Attribute: Arbeiten mit Attributen
397
Die Welt der Attribute
398
Die Magie erleben
400
Das Ablaufdatum-Attribut
402
Die Magie selbst erleben
403
Eine magische Reise in dein Selbst
404
In den Tiefen des Kaninchenbaus
407
Der Attribut-Meister erstellt eigene Attribute!
410
Meine Klasse, meine Zeichen
412
Selbstreflexion
414
Die Psychologie lehrt uns: Wiederholung ist wichtig!
418
18 Ich muss mal raus: Dateizugriff und Streams
419
Daten speichern
420
Rundherum oder direkt rein
421
Rein in die Dose, Deckel drauf und fertig
423
Deine Geheimnisse sind bei mir nicht sicher
424
Das Mysterium der Dateiendungen
427
Das Gleiche und doch etwas anders
430
Das Lexikon vom Erstellen, Lesen, Schreiben, Umbenennen
431
Ran an die Tastatur, rein in die Dateien
436
Von der Sandburg zum Wolkenkratzer
438
Fließbandarbeit
442
Wenn das Fließband nicht ganz richtig läuft
445
Dem Fließband vorgeschalteter Fleischwolf
449
Nutze die Attribut-Magie!
451
Das Formatter-Prinzip
452
X(M)L entspricht XXL
453
Die kleinste Größe – JSON
455
Wir sind viele
457
Das World Wide Web. Unendliche Weiten
462
Deine Seite, meine Seite
464
Probe, Probe, Leseprobe
466
Punkt für Punkt für’s Hirn
468
19 Sag doch einfach, wenn du fertig bist: Asynchrone und parallele Programmierung
469
Zum Beispiel ein Download-Programm
470
Asynchroner Start mit Ereignis bei Fertigstellung
472
Subjektive Geschwindigkeiten und Probleme mit dem Warten
474
Auf der Suche nach der absoluten Geschwindigkeit
477
Es geht auch einfacher!
480
Was so alles im Hintergrund laufen kann
485
Gemeinsam geht es schneller
487
Jetzt wird es etwas magisch
491
Wenn jeder mit anpackt, dann geht alles schneller
493
Rückzug bei Kriegsspielen
496
async/await/cancel
498
Unkoordinierte Koordination
500
Anders und doch gleich
505
Gemeinsam Kuchen backen
506
Wenn das Klo besetzt ist
511
Das Producer-Consumer-Problem
511
Dein Spickzettel
517
20 Nimm doch, was andere schon gemacht haben: Die Paketverwaltung NuGet
519
Bibliotheken für Code
520
Fremden Code aufspüren
523
Die Welt ist schon fertig
526
21 Die schönen Seiten des Lebens: Einführung in XAML
527
Oberflächenprogrammierung
528
Hinzufügen der Komponenten für die Universal Windows Platform Apps in Visual Studio
530
Diese X-Technologien
532
Tabellen über Tabellen
536
Hallo Universal App
539
Die App soll »Hallo« sagen
540
Schrödingers kreative Katze
544
Buttons und Text ausrichten
547
Von Tabellen, Listen und Parkplätzen
549
VariableSizedWrapGrid und RelativePanel – zwei gute Teilnehmer
552
Die Mischung macht’s!
554
Das gemischte Layout
555
Alles schön am Raster ausrichten
557
Das sieht doch schon aus wie eine Anwendung
559
Ein Layout für eine App
561
Auf in die (App)Bar
564
Die Ecken und Winkel in der Bar
565
Einfach und wirksam
566
Das ist alles eine Stilfrage
568
Von der Seite in die Anwendung
570
Do you speak English, Koreanisch oder so? Schrödinger, I do!
571
Die Welt der Sprachen
573
Honey, I do!
576
Oberflächenprogrammierung auf einen Blick
578
22 Models sind doch schön anzusehen: Das Model-View-ViewModel-Entwurfsmuster
579
Einführung in MVVM
580
Mein erstes eigenes Model
584
Datenbindung noch kürzer – als Seitenressource
588
Eine Technik, sie alle zu binden!
589
Eine Eigenschaft für alle Infos
591
Wenn nur jeder wüsste, was er zu tun hätte
593
Los geht’s! Notify-Everybody
596
Ein Laufsteg muss es sein!
599
Über Transvestiten und Bindungsprobleme
606
Über Bindungsprobleme und deren Lösungen
607
Alleine oder zu zweit?
608
Aus Klein mach Groß und zurück
609
Klein aber fein
610
Die Größe der Kaffeetasse
614
Auf mein Kommando
619
Kommandierende Butler
621
Dem Zufall das Kommando überlassen
625
MVVM Punkt für Punkt
630
23 Stereotyp Schönheit: Universal Platform Apps
631
Heute dreht sich alles um Apps
632
Universal Windows Platform Apps – Planung
633
Ran an den Code – die Wetter-App
638
Visuelle Zustände als einfache Lösung
644
Apps ohne Ende
647
Etwas mehr Komfort darf schon sein!
649
Viele tolle Sachen am Template10
653
Navigation einfach gemacht
658
Navigation und App-Lebenszyklus
659
Einstellungen, fix und fertig
660
Bitte warten – please hold the line
663
Menüführung
665
Deine Template10-Übung
666
Das ganze Layout auf einen Blick
670
24 Toast-Notifications: Der Einsatz von Toast-Notifications
671
Ich habe etwas Wichtiges zu sagen!
672
Das Betriebssystem wird es schon richten
672
Einfache Toast-Notifications
673
Templates verzögert anzeigen
675
Eigene Notification-Templates
676
Die Verwendung deines individuellen Templates
678
Das Feinste vom Feinen
679
Kleine Änderungen mit großer Wirkung
682
Minütlich grüßt die Notification
683
Deine Toast-Zusammenfassung
686
25 Live is Live: Die Verwendung von Live-Kacheln
687
Innovation Live-Kacheln
688
Klein, mittel, groß
688
Die Do’s und Dont’s
690
Live-Tiles mit XML definieren
691
Live-Kacheln mit C# erstellen
693
Gona Catch’em all
699
Deine Live-Zusammenfassung
702
26 Ich will alles rausholen: Datenzugriff über die Windows API
703
Dateizugriff nur mit Erlaubnis
704
Verhandlungstechnik 1: Dateiauswahl
707
Verhandlungstechnik 2: Ordner auswählen
708
Verhandlungstechnik 3: Anwendungsdaten speichern, ohne benutzergewählten Speicherort
708
Besser als Raumschiff Enterprise – ein Logbuch
711
Energie! Die Oberfläche der App
712
Der Sourcecode
713
Das ist doch alles dasselbe
718
Deine Kurzliste mit den wichtigsten Infos
720
27 Funktioniert das wirklich? Unit-Testing
721
Das Problem: Testen kann lästig werden
722
Die Lösung: Unit-Tests – Klassen, die Klassen testen
723
Das Testprojekt erstellen
726
Die Ausführung ist das A und O!
728
Spezielle Attribute
729
Unit-Tests sind nicht alles
729
Testgetriebene Softwareentwicklung – oder wie du Autofahren lernst
730
Darfst du schon fahren?
731
Let’s do it!
736
Dein Test-Merkzettel
737
28 Auf ins Kaufhaus! Das Publizieren im Windows Store
739
Registriere einen Account, und es kann losgehen!
740
So kommt dein Produkt in den Store
742
Die Zertifizierung startet!
744
Auf ein Wiedersehen!
748
Index
749