CHF48.90
Download steht sofort bereit
Sie haben Fragen zur C#-Entwicklung? Unser bewährtes Kompendium steht Ihnen mit Rat und Tat zur Seite. Mittlerweile in der 8. Auflage dient es ambitionierten Ein- und Umsteigern durch seine strukturierte Vorgehensweise und die zahlreichen Anwendungsbeispiele als praxisorientierte Einführung. Fortgeschrittene und Profis unterstützt es als Nachschlagewerk optimal bei ihrer täglichen Arbeit. Nach den Grundlagen von C#, .NET und objektorientierter Programmierung geht es weiter mit Visual Studio 2019, Fehlerbehandlung sowie fortgeschrittenen C#-Themen wie LINQ, Multithreading, Serialisierung u. v. m. Den größten Themenblock bildet die Entwicklung von grafischen Benutzeroberflächen. Neben einer fundierten Einführung in WPF, XAML und MVVM erfahren Sie hier alles Notwendige, um auch komplexe Anwendungen zu gestalten. Anschließend wird die Datenbankprogrammierung mit Entity Framework ausführlich behandelt. Auch das Unit-Testing kommt nicht zu kurz. So sind Sie für Ihren Arbeitsalltag bestens gerüstet!
Aus dem Inhalt:
Unit-Testing
Autorentext
Andreas Kühnel wohnt in Aachen und beschäftigt sich seit über 25 Jahren mit der Programmierung. Er ist seit 1995 als Microsoft Certified Trainer (MCT) zertifiziert. Seine "große Liebe" galt anfangs Visual Basic. Seit der ersten Vorstellung von .NET konzentriert er sich hauptsächlich auf die Sprachen VB.NET und natürlich C#. Zu seinen Schwerpunkten in der .NET-Welt gehören Datenbanken, Windows-Anwendungen mit WPF, ASP.NET und die WCF (Windows Communication Foundation). Wenn es seine Zeit zulässt, frönt er meist seinem größten Steckenpferd: dem Reisen, bevorzugt in den asiatischen Raum oder nach Australien.
Andreas Kühnel ist als freiberuflicher IT-Trainer und Berater deutschlandweit tätig, führt aber auch Schulungen in seinem eigenen Seminarraum in Aachen durch. Kritiken zu diesem Buch sowie Seminaranfragen richten Sie bitte an Kuehnel@dotnet-training.de.
Inhalt
Materialien zum Buch ... 32
Vorwort zur 8. Auflage ... 34
Allgemeine Einführung in .NET ... 37
1.1 ... Warum .NET? ... 37
1.2 ... .NET unter die Lupe genommen ... 43
1.3 ... Assemblies ... 53
1.4 ... Die Entwicklungsumgebung ... 55
Grundlagen der Sprache C# ... 65
2.1 ... Konsolenanwendungen ... 65
2.2 ... Grundlagen der C#-Syntax ... 70
2.3 ... Variablen und Datentypen ... 75
2.4 ... Operatoren ... 97
2.5 ... Datenfelder (Arrays) ... 110
2.6 ... Kontrollstrukturen ... 118
2.7 ... Programmschleifen ... 129
Das Klassendesign ... 145
3.1 ... Einführung in die Objektorientierung ... 145
3.2 ... Die Klassendefinition ... 148
3.3 ... Referenz- und Wertetypen ... 155
3.4 ... Die Eigenschaften eines Objekts ... 157
3.5 ... Methoden eines Objekts ... 164
3.6 ... Konstruktoren ... 191
3.7 ... Der Destruktor ... 198
3.8 ... Konstanten in einer Klasse ... 199
3.9 ... Statische Klassenkomponenten ... 200
3.10 ... Namensräume (Namespaces) ... 207
3.11 ... Aktueller Stand der Klasse »Circle« ... 217
Vererbung, Polymorphie und Interfaces ... 221
4.1 ... Die Vererbung ... 221
4.2 ... Der Problemfall geerbter Methoden ... 230
4.3 ... Typkonvertierung und Typuntersuchung von Objektvariablen ... 237
4.4 ... Polymorphie ... 243
4.5 ... Weitere Gesichtspunkte der Vererbung ... 250
4.6 ... Das Projekt »GeometricObjectsSolution« ergänzen ... 253
4.7 ... Eingebettete Klassen ... 257
4.8 ... Interfaces (Schnittstellen) ... 258
4.9 ... Das Zerstören von Objekten -- der Garbage Collector ... 273
4.10 ... Die Ergänzungen in den Klassen »Circle« und »Rectangle« ... 280
Delegaten, Ereignisse und Lambda-Ausdrücke ... 283
5.1 ... Delegaten ... 283
5.2 ... Ereignisse eines Objekts ... 293
5.3 ... Lambda-Ausdrücke ... 310
5.4 ... Änderungen im Projekt »GeometricObjectsSolution« ... 314
Strukturen und Enumerationen ... 319
6.1 ... Strukturen -- eine Sonderform der Klassen ... 319
6.2 ... Enumerationen (Aufzählungen) ... 325
6.3 ... Boxing und Unboxing ... 328
Fehlerbehandlung und Debugging ... 331
7.1 ... Laufzeitfehler erkennen ... 332
7.2 ... Debuggen mit Programmcode ... 355
7.3 ... Fehlersuche mit Visual Studio ... 363
Auflistungsklassen (Collections) ... 371
8.1 ... Collections im Namespace »System.Collections« ... 371
8.2 ... Die Klasse »ArrayList« ... 375
8.3 ... Die Klasse »Hashtable« ... 387
8.4 ... Die Klassen »Queue« und »Stack« ... 393
8.5 ... Eigene Auflistungen mit »yield« durchlaufen ... 396
Generics -- generische Datentypen ... 401
9.1 ... Bereitstellen einer generischen Klasse ... 403
9.2 ... Bedingungen (Constraints) festlegen ... 406
9.3 ... Generische Methoden ... 410
9.4 ... Generics und Vererbung ... 411
9.5 ... Typkonvertierung von Generics ... 413
9.6 ... Generische Delegaten ... 414
9.7 ... »Nullable«-Typen ... 415
9.8 ... Generische Collections ... 417
9.9 ... Kovarianz und Kontravarianz generischer Typen ... 421
9.10 ... Ergänzungen im Beispielprojekt »GeometricObjectsSolution« ... 426
Weitere C#-Sprachfeatures ... 429
10.1 ... Implizit typisierte Variablen ... 429
10.2 ... Anonyme Typen ... 430
10.3 ... Erweiterungsmethoden ... 431
10.4 ... Spezielle Methoden ... 435
10.5 ... Operatorüberladung ... 442
10.6 ... »Nullable«-Referenztypen ... 452
10.7 ... Indexer ... 459
10.8 ... Attribute ... 466
10.9 ... Der bedingte NULL-Operator ... 479
10.10 ... Der »nameof«-Operator ... 480
10.11 ... Dynamisches Binden ... 482
10.12 ... Tupel ... 485
10.13 ... Pattern Matching (Musterabgleich) ... 492
10.14 ... Rückgabewerte mit »ref« ... 496
10.15 ... Unsicherer (unsafe) Programmcode -- Zeigertechnik in C# ... 498
LINQ -- Language Integrated Query ... 505
11.1 ... Einstieg in LINQ? ... 505
11.2 ... LINQ to Objects ... 511
11.3 ... Die Abfrageoperatoren ... 515
Arbeiten mit Dateien und Streams ... 539
12.1 ... Einführung ... 539
12.2 ... Namespaces der Ein- bzw. Ausgabe ... 540
12.3 ... Laufwerke, Verzeichnisse und Dateien ... 541
12.4 ... Die »Stream«-Klassen ... 558
12.5 ... Die Klassen »TextReader« und »TextWriter« ... 569
12.6 ... Die Klassen »BinaryReader« und »BinaryWriter« ... 575
Serialisierung ... 585
13.1 ... Serialisierungsverfahren ... 586
13.2 ... Binäre Serialisierung mit »BinaryFormatter« ... 587
13.3 ... Serialisierung mit »XmlSerializer« ... 593
Multithreading ... 599
14.1 ... Einführung in das Multithreading ... 600
14.2 ... Threads -- allgemein betrachtet ... 601
14.3 ... Mit der Klasse »Thread« arbeiten ... 603
14.4 ... Der Threadpool ... 614
14.5 ... Synchronisation von Threads ... 616
14.6 ... Grundlagen asynchroner Methodenaufrufe ... 639
Die Task Parallel Library (TPL) ... 651
15.1 ... Die wichtigsten Klassen der TPL ... 652
15.2 ... Die Klasse »Task« ... 652
15.3 ... Die Klasse »Parallel« ... 665
15.4 ... Asynchrone Programmierung mit »async« und »await« ... 671
Grundlegende .NET-Klassen ... 679
16.1 ... Die Klasse »Object« ... 679
16.2 ... Die Klasse »String« ... 685
16.3 ... Die Klasse »StringBuilder« ... 699
16.4 ... Der Typ »DateTime« ... 705
16.5 ... Die Klasse »Tim…