Zum Hauptinhalt springen
Nicht aus der Schweiz? Besuchen Sie lehmanns.de

Schrödinger programmiert C#

Das etwas andere Fachbuch

(Autor)

Buch | Softcover
760 Seiten
2015
Rheinwerk (Verlag)
978-3-8362-2381-2 (ISBN)

Lese- und Medienproben

Schrödinger programmiert C# - Bernhard Wurm
CHF 69,85 inkl. MwSt
zur Neuauflage
  • Titel erscheint in neuer Auflage
  • Artikel merken
Zu diesem Artikel existiert eine Nachauflage
  • Von den Sprachgrundlagen über Multithreading bis zur komplexen .NET-Anwendung
  • Ob C# 6, asynchron oder mit LINQ: Hol dir die Juwelen aller Versionen
  • Best Practices von Anfang an
  • Bringe deine eigene Windows-App in den Store

Die volle Packung Visual C#.

Schrödinger lernt nicht nur die Sprachgrundlagen, sondern beispielsweise auch, wie er eigene Apps für den Windows-App-Store entwickeln kann.

Die nötige Theorie, viele Hinweise und Tipps [im Büro], Unmengen von gutem, aber auch schlechtem Code, der verbessert und repariert werden will [in der Werkstatt] mit viel Kaffee und Übungen und den verdienten Pausen [zu Hause im Wohnzimmer].

Und mittendrin ist Schrödinger, und natürlich du!

Gründlicher Einstieg
  • Installationshilfe
  • Visual-Studio-Führung
  • Datentypen, Variablen, Schleifen
  • Profi-Konzepte von Anfang an


Objektorientierung zum Mitmachen
  • .NET umfassend nutzen
  • Keine Angst vor Generics
  • Geschickt eigene Datentpyen erstellen
  • Mit Fehlern und Ausnahmen umgehen
  • GUI, Desingpatterns, Apps


Grafische Oberflächen mit XAML
  • Das Entwurfsmuster MVVM verstehen
  • Ein Singleton für eine App
  • Windows-8-Apps im Store


Schrödinger...
... kann schon was, aber nicht C#. Schlau ist er, auch neugierig, aber zuweilen ungeduldig und etwas chaotisch. Er hasst Katzen und liebt WoW. Eigentlich der perfekte Partner, um endlich mal gründlich C# zu lernen.

Themen sind insbesondere:
  • Operatoren, Schleifen, Datentypen
  • Klassen und Vererbung
  • Wichtige Entwurfsmuster
  • GUI-Entwicklung mit XAML
  • LINQ einsetzen
  • async/await verwenden
  • Apps mit Charms und LiveTiles
  • Dateizugriffe und Streams
  • Asynchrone und Multithreading-Programmierung
  • Internetzugriff
  • Designrichtlinien für den App-Store

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 Software-Entwicklung in einem österreichischen Unternehmen. Seine Interessen sind breit gestreut, aber immer computer-affin: Sie reichen von Distributed Computing über die digitale Bilderverbeitung 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

Zeichenketten - Strings ... 94

Einfacher und schneller ... 97

Etwas Besonderes sollte es sein ... 99

Verdrehte Welt ... 100

Sein oder nicht sein? ... 103

Nichts im Einsatz ... 105

Damit bei so viel null nichts verloren geht ... 106



5. Eine endliche Geschichte: Enumerationen ... 107


Rot -- Gelb -- Grün ... 108

Tageweise ... 110

Tell me why I don't like mondays ... ... 113

WoW-Völker ... 114

Auf wenige Sätze heruntergebrochen ... 116

Originale und überteuerte Kopien ... 121

Eins ist nicht genug ... 124

Ich rechne mit dir ... 125

Wenn sich nichts bewegt und alles statisch ist ... 126

Ich hätte gerne das Original! ... 126

Sommerschlussverkauf -- alles muss raus ... 127

Tauschgeschäfte, die nicht funktionieren ... 129

Ich will das ganz anders oder auch gar nicht -- Methoden überladen ... 130

Das Ganze noch einmal umgerührt ... 133

Ein knurrender Magen spornt bestimmt zu Höchstleistungen an ... 135

Eine kleine Zusammenfassung für dich ... 136



7. Klassengesellschaft: Objekte, Eigenschaften und Sichtbarkeiten ... 137


Mein Alter, meine Augenfarbe, mein Geburtsdatum ... 138

Eine Aufgabe für den Accessor ... 142

Ich sehe was, was du nicht siehst ... 143

Geheimniskrämerei und Kontrollfreak ... 144

Darf ich jetzt oder nicht? ... 145

Zusammen was zusammengehört! ... 149

Zusammen und doch getrennt ... 151

Laufen, kämpfen, sterben ... 153

Vom Leben und Sterben ... 154

Geburtenkontrolle ... 155

Verwendung: ... 156

Mehrlingsgeburt ... 159

Partielle Klassen und Strukturen ... 160

Pfeile über Pfeile -- oder Vektoren, wie es mathematisch heißt ... 161

Meine partiellen Daten ... 162

Seltenes nochmal betrachtet ... 163

Gelernt ist gelernt! ... 166



8. Es wird Zeit für Übersicht! Namespaces ... 167


Eine Ordnung für die Klassen ... 168

Was ist denn nur in diesem Namespace vorhanden? ... 171

Vorhandene Systembausteine ... 173

Wo sind nur diese Bausteine? ... 175

Mathematik für Einsteiger ... 177

Nochmals finden, was scheinbar nicht da ist ... 178

Und noch einmal von vorne! ... 178



9. Erben ohne Sterben: Objektorientierte Programmierung ... 179


Geisterstunde ... 180

Schleimgeister sind spezielle Geister ... 182

Fünf vor zwölf ... 184

Geister fressen, Schleimgeister fressen, Kannibalen fressen -- alles muss man einzeln machen ... 190

Enterben ... 191

Geister haben viele Gestalten ... 191

Geister, die sich nicht an die Regeln halten ... 194

Gestaltwandler unter der Lupe ... 195

Nochmals drüber nachgedacht ... 196

Hier noch ein Merkzettel ... 200



10. Abstrakte Kunst: Abstrakte Klassen und Interfaces ... 201


Unverstandene Künstler ... 204

Das Meisterwerk nochmals betrachtet ... 206

Abstrakte Kunst am Prüftisch ... 207

Allgemein ist konkret genug ... 209

Fabrikarbeit ... 210

Alles unter einem Dach ... 211

Kaffee oder Tee? Oder doch lieber eine Cola? ... 212

Kaffeemaschine im Einsatz ... 214

Eine Cola bitte ... 216

Freundin vs. Chef -- Runde 1 ... 218

Bei perfekter Verwendung ... ... 219

Freundin vs. Chef -- Runde 2 ... 220

Freundin vs. Chef -- Runde 3 ... 222

Abstraktion und Interfaces auf einen Blick ... 223



11. Airbags können Leben retten: Exceptionhandling ... 225


Mach's stabil! ... 226

Einen Versuch war es wert ... 228

Nur unter bestimmten Umständen ... 231

Fehler über Fehler ... 232

Über das Klettern auf Bäume ... 236

Klettern auf nicht vorhandene Bäume -- NullReferenceException ... 236

Auf Sträucher klettern -- FormatException ... 237

Sträucher im Sägewerk -- ArgumentException ... 238

Bezahlung ohne Ware -- ArgumentNullException ... 238

Bewusste Fehler ... 239

Selbst definierte Fehler ... 240

Fehler in freier Wildbahn ... 241

Das Matruschka-Prinzip ... 242

Alles noch einmal aufgerollt ... 244

Dein Fehler-Cheat-Sheet ... 248



12. Ein ordentliches Ablagesystem muss her: Collections und Laufzeitkomplexität ... 249


Je größer der Schuhschrank, desto länger die Suche ... 250

Komplizierte Laufschuhe ... 251

Geschwindigkeitsprognosen ... 254

Es muss nicht immer gleich quadratisch sein ... 256

Geschwindigkeitseinschätzung und Buchstabensuppe ... 259

Selbstwachsende Schuhschränke ... 262

Eine Array-Liste ... 263

Ringboxen ... 264

Listige Arrays und ihre Eigenheiten ... 265

Listige Arrays und ihre Verwendung ... 265

The Need for Speed ... 266

Es wird konkreter ... 267

Sortieren bringt Geschwindigkeit -- SortedList ... 268

Listenreiche Arbeit ... 270

Es geht noch schneller! ... 272

Im Rausch der Geschwindigkeit ... 274

Dictionary-Initialisierung in C# 6 ... 276

Von Bäumen und Ästen ... 279

Ein Verwendungsbeispiel ... 280

Alles eindeutig -- das HashSet ... 281

Schnelles Arbeiten mit Sets ... 282

Das große Bild ... 284

Der große Test, das Geheimnis und die Verwunderung ... 287

Noch einmal durchleuchtet ... 292

Dein Merkzettel rund um die Collections aus Laufzeiten ... 297



13. Allgemein konkrete Implementierungen: Generizität ... 299


Konkrete Typen müssen nicht sein ... 300

Das große Ganze ... 301

Mülltrennung leicht gemacht ... 302

Der Nächste bitte ... 305

Allgemein, aber nicht für jeden! ... 307

Immer das Gleiche und doch etwas anderes ... 309

Fabrikarbeit ... 311

Aus allgemein wird konkret ... 312

Hier kommt nicht jeder Typ rein. ... 313

Ähnlich, aber nicht gleich! ... 314

Varianzen hin oder her ... 316

Varianzen in der Praxis ... 319

WoW im Simulator ... 322

Damit's auch hängen bleibt ... 324



14. Linke Typen, auf die man sich verlassen kann: LINQ ... 325


Linke Typen, auf die man sich verlassen kann ... 326

Shoppen in WoW ... 329

Gesund oder gut essen? ... 332

Listen zusammenführen ... 333

Fix geLINQt statt handverlesen ... 341

Merkzettel ... 344



15. Blumen für die Dame: Delegaten und Ereignisse ... 345


Ein Butler übernimmt die Arbeit ... 346

Im Strudel der Methoden ... 349

Die Butlerschule ... 352

Ereignisreiche Tage ... 355

Eine Runde für alle ... 358

Auf in die Bar! ... 359

Wiederholung, Wiederholung ... 363

Die delegierte Zusammenfassung ... 366



16. Der Standard ist nicht genug: Extension-Methoden und Lambda-Expressions ... 367


Extension-Methoden ... 368

Auf die Größe kommt es an ... 372

Erweiterungen nochmals durchschaut ... 374

Softwareentwicklung mit Lambdas ... 376

Lambda-Expressions auf Collections loslassen ... 379

Ein Ausritt auf Lamas ... 380

Filtern ... 380

Gruppieren ... 382

Verknüpfen ... 383

Gruppieren und Verknüpfen kombiniert ... 384

Left Join ... 385

VerLINQte LAMbdAS ... 387

Lamas im Schnelldurchlauf ... 390



17. Die Magie der Attribute: Arbeiten mit Attributen ... 391


Die Welt der Attribute ... 392

Die Magie erleben ... 394

Das Ablaufdatum-Attribut ... 396

Die Magie selbst erleben ... 397

Eine magische Reise in dein Selbst ... 398

In den Tiefen des Kaninchenbaus ... 401

Der Attribut-Meister erstellt eigene Attribute! ... 404

Meine Klasse, meine Zeichen ... 406

Selbstreflexion ... 408

Die Psychologie lehrt uns: Wiederholung ist wichtig! ... 412



18. Ich muss mal raus: Dateizugriff und Streams ... 413


Daten speichern ... 414

Rundherum oder direkt rein ... 415

Rein in die Dose, Deckel drauf und fertig ... 417

Deine Geheimnisse sind bei mir nicht sicher ... 418

Das Mysterium der Dateiendungen ... 421

Das Gleiche und doch etwas anders ... 424

Das Lexikon vom Erstellen, Lesen, Schreiben, Umbenennen ... 425

Ran an die Tastatur, rein in die Dateien ... 430

Von der Sandburg zum Wolkenkratzer ... 432

Fließbandarbeit ... 436

Wenn das Fließband nicht ganz richtig läuft ... 439

Dem Fließband vorgeschalteter Fleischwolf ... 443

Nutze die Attribut-Magie! ... 445

Das Formatter-Prinzip ... 446

X(M)L entspricht XXL ... 447

Die kleinste Größe -- JSON ... 449

Wir sind viele ... 451

Das World Wide Web. Unendliche Weiten ... 456

Deine Seite, meine Seite ... 458

Probe, Probe, Leseprobe ... 460

Punkt für Punkt für's Hirn ... 462



19. Sag doch einfach, wenn du fertig bist: Asynchrone und parallele Programmierung ... 463


Zum Beispiel ein Download-Programm ... 464

Asynchroner Start mit Ereignis bei Fertigstellung ... 466

Subjektive Geschwindigkeiten und Probleme mit dem Warten ... 468

Auf der Suche nach der absoluten Geschwindigkeit ... 471

Es geht auch einfacher! ... 474

Was so alles im Hintergrund laufen kann ... 479

Gemeinsam geht es schneller ... 481

Jetzt wird es etwas magisch ... 485

Wenn jeder mit anpackt, dann geht alles schneller ... 487

Rückzug bei Kriegsspielen ... 490

async/await/cancel ... 492

Unkoordinierte Koordination ... 494

Anders und doch gleich ... 499

Gemeinsam Kuchen backen ... 500

Wenn das Klo besetzt ist ... 505

Das Producer-Consumer-Problem ... 505

Dein Spickzettel ... 511



20. Nimm doch, was andere schon gemacht haben: Die Paketverwaltung NuGet ... 513


Bibliotheken für Code ... 514

Fremden Code aufspüren ... 517

Die Welt ist schon fertig ... 520



21. Die schönen Seiten des Lebens: Einführung in XAML ... 521


Oberflächenprogrammierung ... 522

Diese X-Technologien ... 524

Tabellen über Tabellen ... 528

Hallo Windows-Store-App ... 531

Die App soll »Hallo« sagen ... 532

Schrödingers kreative Katze ... 536

Buttons und Text ausrichten ... 539

Von Tabellen, Listen und Parkplätzen ... 541

Die Mischung macht's! ... 544

Das gemischte Layout ... 545

Alles schön am Raster ausrichten ... 547

Das sieht doch schon aus wie eine Anwendung ... 549

Ein Layout für eine App ... 551

Auf in die (App)Bar ... 554

Die Ecken und Winkel in der Bar ... 555

Einfach und wirksam ... 556

Das ist alles eine Stilfrage ... 558

Von der Seite in die Anwendung ... 560

Do you speak English, Koreanisch oder so? Schrödinger, I do! ... 561

Die Welt der Sprachen ... 563

Honey, I do! ... 566

Oberflächenprogrammierung auf einen Blick ... 568



22. Models sind doch schön anzusehen: Das Model-View-ViewModel-Entwurfsmuster ... 569


Einführung in MVVM ... 570

Mein erstes eigenes Model ... 574

Datenbindung noch kürzer -- als Seitenressource ... 578

Eine Technik, sie alle zu binden! ... 579

Eine Eigenschaft für alle Infos ... 581

Wenn nur jeder wüsste, was er zu tun hätte ... 583

Los geht's! Notify-Everybody ... 586

Ein Laufsteg muss es sein! ... 589

Über Transvestiten und Bindungsprobleme ... 596

Über Bindungsprobleme und deren Lösungen ... 597

Alleine oder zu zweit? ... 598

Aus Klein mach Groß und zurück ... 599

Klein aber fein ... 600

Die Größe der Kaffeetasse ... 604

Auf mein Kommando ... 609

Kommandierende Butler ... 611

Dem Zufall das Kommando überlassen ... 615

MVVM Punkt für Punkt ... 620



23. Stereotyp Schönheit: Windows-Store-Apps ... 621


Heute dreht sich alles um Apps ... 622

Windows-Store-Apps ... 622

Wenn die Anwendung s(ch)nap(pt) ... 628

Apps lassen sich nicht beenden ... 629

Die kleinen Helfer des Lebens ... 631

Schönheitsoperationen ... 636

Die Kunst der perfekten Schönheit ... 640

Schönheiten gestalten ... 641

Alles ist möglich! ... 643

Das ganze Layout auf einen Blick ... 646



24. Charmante Möglichkeiten: Charms für Windows-Store-Apps ... 647


Zauberelemente ... 648

Finden statt suchen ... 649

Kleiner Code, große Macht ... 653

Einen Vorschlag darf man wohl noch machen ... 654

Fang an zu finden! ... 659

Empfang ist nicht nur etwas für das Handy ... 667

Empfangene Adressen ... 669

Alles eine Sache der Einstellung ... 672

Meine Grundeinstellung: positiv ... 674

Vergiss mein nicht! ... 680

Über alle Entfernungen hinweg ... 682

Mein eigener Browser und ein großes Ego ... 683

Das merkst du dir zu den Charms ... 688



25. Live is Live: Die Verwendung von Live-Kacheln ... 689


Innovation Live-Kacheln ... 690

Klein, mittel, groß ... 690

Die Do's und Dont's ... 692

Live-Tiles mit XML definieren ... 693

Live-Kacheln mit C# erstellen ... 695

Gona Catch'em all ... 701

Deine Live-Zusammenfassung ... 704



26. Ich will alles rausholen: Datenzugriff über die Windows API ... 705


Dateizugriff nur mit Erlaubnis ... 706

Verhandlungstechnik 1: Dateiauswahl ... 709

Verhandlungstechnik 2: Ordner auswählen ... 710

Verhandlungstechnik 3: Anwendungsdaten speichern, ohne benutzergewählten Speicherort ... 712

Besser als Raumschiff Enterprise -- ein Logbuch ... 713

Energie! Die Oberfläche der App ... 714

Der Sourcecode ... 715

Das ist doch alles dasselbe ... 720

Deine Kurzliste mit den wichtigsten Infos ... 722



27. Funktioniert das wirklich? Unit-Testing ... 723


Das Problem: Testen kann lästig werden ... 724

Die Lösung: Unit-Tests -- Klassen, die Klassen testen ... 725

Das Testprojekt erstellen ... 728

Die Ausführung ist das A und O! ... 730

Spezielle Attribute ... 731

Unit-Tests sind nicht alles ... 731

Testgetriebene Softwareentwicklung -- oder wie du Autofahren lernst ... 732

Darfst du schon fahren? ... 733

Let's do it! ... 738

Dein Test-Merkzettel ... 739



28. Auf ins Kaufhaus! Das Publizieren im Windows Store ... 741


Registriere einen Account, und es kann losgehen! ... 742

So kommt dein Produkt in den Store ... 744

Die Zertifizierung startet! ... 746

Auf ein Wiedersehen! ... 750



Index ... 751

Von mir eine ganz klare Kaufempfehlung für jeden, der auf C# umsteigen oder damit beginnen möchte! www.mrturkelton.de, 06.04.2015

Erscheint lt. Verlag 30.3.2015
Reihe/Serie Rheinwerk Computing
Verlagsort Bonn
Sprache deutsch
Maße 200 x 235 mm
Gewicht 1890 g
Einbandart Paperback
Themenwelt Informatik Programmiersprachen / -werkzeuge NET Programmierung
Informatik Programmiersprachen / -werkzeuge C#
Schlagworte C# • C sharp (Programmiersprache); Einführung • C sharp (Programmiersprache); Einführung • Handbuch • .NET 4.5 • .NET-Programmierung • Programmieren lernen • Visual C# • Visual C sharp; Einführung • Visual Studio • Visual Studio Express • Windows 8 • Windows Forms • Windows Presentation Foundation • Windows Store Apps • WPF
ISBN-10 3-8362-2381-3 / 3836223813
ISBN-13 978-3-8362-2381-2 / 9783836223812
Zustand Neuware
Informationen gemäß Produktsicherheitsverordnung (GPSR)
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich
Das umfassende Handbuch

von Andreas Kühnel; Fabian Deitelhoff

Buch | Hardcover (2025)
Rheinwerk (Verlag)
CHF 69,85