Schrödinger programmiert C#

Fachbuch-Bestseller
Das etwas andere Fachbuch

(Autor)

Buch | Softcover
757 Seiten
2016 | 2. Auflage
Rheinwerk (Verlag)
978-3-8362-4093-2 (ISBN)

Lese- und Medienproben

Schrödinger programmiert C# - Bernhard Wurm
49,90 inkl. MwSt
zur Neuauflage
  • Titel ist leider vergriffen;
    keine Neuauflage
  • Artikel merken
Zu diesem Artikel existiert eine Nachauflage
  • Von den Sprachgrundlagen über Multithreading bis zur GUI-Anwendung
  • Ob C# 6, async oder Universal Apps: Nutze die Schwerter aller Versionen!
  • Schreibe von Anfang an guten Code und lerne Best Practices vom Profi

Schrödinger ist unser Mann fürs Programmieren. Er kann schon was, aber noch nicht C#. Zum Glück hat er einen richtigen Profi an seiner Seite, der auf jede Frage eine Antwort weiß.

Und weil Schrödinger zwar schlau ist, aber auch ein wenig ungeduldig, gibt es nach der nötigen Theorie immer sofort etwas zu tun. Mit viel Code und Beispielen, die du nicht wieder vergisst. Ob es ums Einparken ohne Crash geht oder um Schuhschränke, die immer größer werden: Die Übungen schafft ihr (aber nicht immer mit links), die Pausen sind verdient, und am Ende jedes Kapitels dürft ihr euch einen Spickzettel einstecken - Achievement Unlocked, Ready for Next Level.

Fantastisch illustriert. Für Einsteiger, Umsteiger und Fans.

Gründlicher Einstieg
  • Installationshilfe
  • Führung durch Visual StudioDatentypen, Variablen, Schleifen
  • Kurze Übungen von Anfang an

So macht guter Code Spaß
  • .NET umfassend nutzen
  • Objektorientierung zum Mitmachen
  • Keine Angst vor Generics
  • Geschickt eigene Datentypen erstellen
  • Mit Fehlern und Ausnahmen umgehen

GUIs, Design Patterns, Apps
  • Grafische Oberflächen mit XAML
  • Das Entwurfsmuster MVVM verstehen
  • Toast Notifications und Live Tiles
  • Die eigene App im Store

Mitmachen und genießen
  • Aufgaben mit Lösungen zu jedem Kapitel
  • Alle Codebeispiele mit Syntaxhighlighting
  • Erklärungen direkt am Code
  • Viele gute Fragen mit Antworten
  • Zeichnungen zu jedem Thema

... also, dann kann's ja losgehen!

Aus dem Inhalt:

  • Operatoren, Schleifen, Datentypen
  • Klassen und Vererbung
  • Wichtige Entwurfsmuster
  • GUI-Entwicklung mit XAML
  • LINQ einsetzen
  • async/await geschickt verwenden
  • Windows Universal Apps
  • Dateizugriffe und Streams
  • Multithreading
  • Internetzugriff
  • Mit Fehlern und Ausnahmen umgehen

Bernhard Wurm ist Softwareentwickler aus Leidenschaft und kann sich noch sehr gut an seine ersten Programmierversuche erinnern. Er weiß, dass gute Nerven und Ausdauer genauso gefragt sind wie Neugierde und Spaß am logischen Denken. Auf jeden Fall hat ihn noch kein Programm in die Knie gezwungen; er studierte prompt Information Engineering und Management sowie Software Engineering. Inzwischen leitet er die Entwicklungsabteilung in einem österreichischen Software-Unternehmen. Seine Interessen sind breit gestreut, aber immer computer-affin: Sie reichen von Distributed Computing über die digitale Bilderverarbeitung und Software Architekturen bis hin zu den neuesten Technologien.

  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

Erscheinungsdatum
Reihe/Serie Rheinwerk Computing
Verlagsort Bonn
Sprache deutsch
Maße 200 x 235 mm
Gewicht 1810 g
Einbandart kartoniert
Themenwelt Informatik Programmiersprachen / -werkzeuge C#
Schlagworte C# • C¿ • C¿ • C sharp (Programmiersprache); Einführung • C sharp (Programmiersprache); Handbuch/Lehrbuch • LINQ • .NET • Programmierung • Visual Studio • Windows 10 • Windows Universal Apps • WPF • XAML
ISBN-10 3-8362-4093-9 / 3836240939
ISBN-13 978-3-8362-4093-2 / 9783836240932
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich
Das umfassende Handbuch: Spracheinführung, Objektorientierung, …

von Andreas Kühnel

Buch | Hardcover (2019)
Rheinwerk (Verlag)
49,90