49,90 €*
Versandkostenfrei per Post / DHL
auf Lager, Lieferzeit 1-2 Werktage
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:
- C#-Spracheinführung
- Visual Studio 2019
- Objektorientierte Programmierung
- Fehlerbehandlung und Debugging
- Language Integrated Query (LINQ)
- Multithreading und Task Parallel Library
- GUI-Entwicklung mit WPF
- Model View ViewModel (MVVM)
- Datenbankprogrammierung mit Entity Framework
- Unit-Testing
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:
- C#-Spracheinführung
- Visual Studio 2019
- Objektorientierte Programmierung
- Fehlerbehandlung und Debugging
- Language Integrated Query (LINQ)
- Multithreading und Task Parallel Library
- GUI-Entwicklung mit WPF
- Model View ViewModel (MVVM)
- Datenbankprogrammierung mit Entity Framework
- Unit-Testing
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 [...].
Vorwort zur 8. Auflage ... 34
1. 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
2. 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
3. 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
4. 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
5. 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
6. Strukturen und Enumerationen ... 319
6.1 ... Strukturen -- eine Sonderform der Klassen ... 319
6.2 ... Enumerationen (Aufzählungen) ... 325
6.3 ... Boxing und Unboxing ... 328
7. Fehlerbehandlung und Debugging ... 331
7.1 ... Laufzeitfehler erkennen ... 332
7.2 ... Debuggen mit Programmcode ... 355
7.3 ... Fehlersuche mit Visual Studio ... 363
8. 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
9. 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
10. 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
11. LINQ -- Language Integrated Query ... 505
11.1 ... Einstieg in LINQ? ... 505
11.2 ... LINQ to Objects ... 511
11.3 ... Die Abfrageoperatoren ... 515
12. 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
13. Serialisierung ... 585
13.1 ... Serialisierungsverfahren ... 586
13.2 ... Binäre Serialisierung mit 'BinaryFormatter' ... 587
13.3 ... Serialisierung mit 'XmlSerializer' ... 593
14. 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
15. 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
16. 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 'TimeSpan' ... 709
16.6 ... Ausgabeformatierung ... 712
17. Projektmanagement und Visual Studio 2019 ... 721
17.1 ... Der Projekttyp 'Klassenbibliothek' ... 721
17.2 ... Assemblies ... 726
17.3 ... Konfigurationsdateien ... 738
17.4 ... Versionierung einer Assembly ... 752
17.5 ... XML-Dokumentation ... 755
17.6 ... Der Klassendesigner (Class Designer) ... 759
17.7 ... Refactoring ... 766
17.8 ... Code-Snippets (Codeausschnitte) ... 769
18. Die Zukunft: .NET Core und .NET Standard ... 773
18.1 ... Allgemeines ... 774
18.2 ... Die drei Säulen von .NET ... 775
18.3 ... .NET Standard ... 777
18.4 ... Portieren von .NET Framework nach .NET Standard ... 783
18.5 ... C#-Sprachergänzungen für .NET Core ... 784
19. Einführung in das Entity Framework ... 789
19.1 ... Das Entity Framework im Überblick ... 789
19.2 ... Erstellen eines Entity Data Models (EDM) ... 792
19.3 ... Die automatisch erzeugten Klassen im EDM ... 809
20. Database First mit dem EDM-Designer ... 815
20.1 ... Einfache Datenabfragen mit LINQ-to-Entities ... 815
20.2 ... In Beziehung stehende Daten laden ... 825
20.3 ... Ändern von Entitäten ... 834
20.4 ... Das Verfolgen der Änderungen ... 841
20.5 ... Die Change Tracker API ... 854
20.6 ... Parallelitätskonflikte behandeln ... 865
20.7 ... Asynchrone Abfrage- und Speicheroperationen ... 879
20.8 ... Transaktionen ... 881
20.9 ... Kontextlose Entitäten ändern ... 883
20.10 ... Validieren mit dem Entity Framework ... 887
21. Entity Framework -- Code First ... 907
21.1 ... Erste Schritte ... 907
21.2 ... Entity Framework 6 Power Tools ... 909
21.3 ... Das erste Code-First-Modell ... 909
21.4 ... Einführung in die Konfiguration von Code First ... 917
21.5 ... Konventionen und Konfiguration im Detail ... 922
21.6 ... Komplexe Typen ... 933
21.7 ... Konventionen und Konfiguration von Beziehungen ... 937
22. Einführung in die WPF und XAML ... 957
22.1 ... Die Merkmale einer WPF-Anwendung ... 958
22.2 ... XAML (Extended Application Markup Language) ... 970
23. Die WPF-Layoutcontainer ... 989
23.1 ... Allgemeiner Überblick ... 989
23.2 ... Gemeinsame Eigenschaften der Layoutcontainer ... 990
23.3 ... Verschachteln von Layoutcontainern ... 1005
24. Fenster in der WPF ... 1009
24.1 ... Hosts der WPF ... 1009
24.2 ... Fenster vom Typ 'Window' ... 1010
24.3 ... Fenster vom Typ 'NavigationWindow' ......
Erscheinungsjahr: | 2019 |
---|---|
Fachbereich: | Programmiersprachen |
Genre: | Informatik |
Rubrik: | Naturwissenschaften & Technik |
Medium: | Buch |
Reihe: | Rheinwerk Computing |
Inhalt: | 1478 S. |
ISBN-13: | 9783836264587 |
ISBN-10: | 3836264587 |
Sprache: | Deutsch |
Herstellernummer: | 459/06458 |
Einband: | Gebunden |
Autor: | Kühnel, Andreas |
Auflage: | 8. aktualisierte Auflage |
Hersteller: | Rheinwerk Verlag GmbH |
Maße: | 249 x 195 x 71 mm |
Von/Mit: | Andreas Kühnel |
Erscheinungsdatum: | 31.07.2019 |
Gewicht: | 2,502 kg |
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 [...].
Vorwort zur 8. Auflage ... 34
1. 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
2. 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
3. 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
4. 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
5. 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
6. Strukturen und Enumerationen ... 319
6.1 ... Strukturen -- eine Sonderform der Klassen ... 319
6.2 ... Enumerationen (Aufzählungen) ... 325
6.3 ... Boxing und Unboxing ... 328
7. Fehlerbehandlung und Debugging ... 331
7.1 ... Laufzeitfehler erkennen ... 332
7.2 ... Debuggen mit Programmcode ... 355
7.3 ... Fehlersuche mit Visual Studio ... 363
8. 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
9. 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
10. 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
11. LINQ -- Language Integrated Query ... 505
11.1 ... Einstieg in LINQ? ... 505
11.2 ... LINQ to Objects ... 511
11.3 ... Die Abfrageoperatoren ... 515
12. 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
13. Serialisierung ... 585
13.1 ... Serialisierungsverfahren ... 586
13.2 ... Binäre Serialisierung mit 'BinaryFormatter' ... 587
13.3 ... Serialisierung mit 'XmlSerializer' ... 593
14. 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
15. 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
16. 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 'TimeSpan' ... 709
16.6 ... Ausgabeformatierung ... 712
17. Projektmanagement und Visual Studio 2019 ... 721
17.1 ... Der Projekttyp 'Klassenbibliothek' ... 721
17.2 ... Assemblies ... 726
17.3 ... Konfigurationsdateien ... 738
17.4 ... Versionierung einer Assembly ... 752
17.5 ... XML-Dokumentation ... 755
17.6 ... Der Klassendesigner (Class Designer) ... 759
17.7 ... Refactoring ... 766
17.8 ... Code-Snippets (Codeausschnitte) ... 769
18. Die Zukunft: .NET Core und .NET Standard ... 773
18.1 ... Allgemeines ... 774
18.2 ... Die drei Säulen von .NET ... 775
18.3 ... .NET Standard ... 777
18.4 ... Portieren von .NET Framework nach .NET Standard ... 783
18.5 ... C#-Sprachergänzungen für .NET Core ... 784
19. Einführung in das Entity Framework ... 789
19.1 ... Das Entity Framework im Überblick ... 789
19.2 ... Erstellen eines Entity Data Models (EDM) ... 792
19.3 ... Die automatisch erzeugten Klassen im EDM ... 809
20. Database First mit dem EDM-Designer ... 815
20.1 ... Einfache Datenabfragen mit LINQ-to-Entities ... 815
20.2 ... In Beziehung stehende Daten laden ... 825
20.3 ... Ändern von Entitäten ... 834
20.4 ... Das Verfolgen der Änderungen ... 841
20.5 ... Die Change Tracker API ... 854
20.6 ... Parallelitätskonflikte behandeln ... 865
20.7 ... Asynchrone Abfrage- und Speicheroperationen ... 879
20.8 ... Transaktionen ... 881
20.9 ... Kontextlose Entitäten ändern ... 883
20.10 ... Validieren mit dem Entity Framework ... 887
21. Entity Framework -- Code First ... 907
21.1 ... Erste Schritte ... 907
21.2 ... Entity Framework 6 Power Tools ... 909
21.3 ... Das erste Code-First-Modell ... 909
21.4 ... Einführung in die Konfiguration von Code First ... 917
21.5 ... Konventionen und Konfiguration im Detail ... 922
21.6 ... Komplexe Typen ... 933
21.7 ... Konventionen und Konfiguration von Beziehungen ... 937
22. Einführung in die WPF und XAML ... 957
22.1 ... Die Merkmale einer WPF-Anwendung ... 958
22.2 ... XAML (Extended Application Markup Language) ... 970
23. Die WPF-Layoutcontainer ... 989
23.1 ... Allgemeiner Überblick ... 989
23.2 ... Gemeinsame Eigenschaften der Layoutcontainer ... 990
23.3 ... Verschachteln von Layoutcontainern ... 1005
24. Fenster in der WPF ... 1009
24.1 ... Hosts der WPF ... 1009
24.2 ... Fenster vom Typ 'Window' ... 1010
24.3 ... Fenster vom Typ 'NavigationWindow' ......
Erscheinungsjahr: | 2019 |
---|---|
Fachbereich: | Programmiersprachen |
Genre: | Informatik |
Rubrik: | Naturwissenschaften & Technik |
Medium: | Buch |
Reihe: | Rheinwerk Computing |
Inhalt: | 1478 S. |
ISBN-13: | 9783836264587 |
ISBN-10: | 3836264587 |
Sprache: | Deutsch |
Herstellernummer: | 459/06458 |
Einband: | Gebunden |
Autor: | Kühnel, Andreas |
Auflage: | 8. aktualisierte Auflage |
Hersteller: | Rheinwerk Verlag GmbH |
Maße: | 249 x 195 x 71 mm |
Von/Mit: | Andreas Kühnel |
Erscheinungsdatum: | 31.07.2019 |
Gewicht: | 2,502 kg |