Kühnel / Deitelhoff | C# mit .NET | Buch | 978-3-367-10319-5 | sack.de

Buch, Deutsch, 1247 Seiten, Format (B × H): 182 mm x 248 mm, Gewicht: 2170 g

Kühnel / Deitelhoff

C# mit .NET

Das umfassende Handbuch zu Sprachgrundlagen, Programmiertechniken und .NET-Technologien
9. Auflage 2025
ISBN: 978-3-367-10319-5
Verlag: Rheinwerk Verlag GmbH

Das umfassende Handbuch zu Sprachgrundlagen, Programmiertechniken und .NET-Technologien

Buch, Deutsch, 1247 Seiten, Format (B × H): 182 mm x 248 mm, Gewicht: 2170 g

ISBN: 978-3-367-10319-5
Verlag: Rheinwerk Verlag GmbH


Alles für die Softwareentwicklung mit C# und.NET
Der ideale Begleiter für Ihre tägliche Arbeit mit C# und.NET! Von den Sprachgrundlagen über LINQ, asynchrone Programmierung und GUI-Anwendungen mit XAML bis zur Anbindungen von Datenbanken und KI ist alles dabei. Sie lernen.NET MAUI, Azure und das Entity Framework kennen. Auch wichtige Best Practices für die Softwareentwicklung wie Versionskontrolle, Unit Tests und etablierte Design Patterns stehen auf dem Programm.

Dieses umfassende Handbuch führt Sie professionell durch die Praxis!

Aus dem Inhalt:

- Das erste Projekt aufsetzen

- Schleifen, Variablen, Methoden und mehr

-.NET kennenlernen

- Asynchron mit async/await und TPL

- LINQ

- Datenbankanbindung

- Cloud-Entwicklung mit Azure

- Cross-Plattform mit XAML

- 2D-Grafik

- Entity Framework

- Einführung in KI mit.NET

- Unit-Tests und Versionskontrolle

Kühnel / Deitelhoff C# mit .NET jetzt bestellen!

Weitere Infos & Material



  Materialien zum Buch ... 30
  Über diese Auflage ... 31
  1.  Allgemeine Einführung in .NET ... 33

       1.1 ... Warum .NET? ... 33
       1.2 ... .NET unter die Lupe genommen ... 39
       1.3 ... Assemblies ... 51
       1.4 ... Die Entwicklungsumgebung ... 53
       1.5 ... Git -- Versionskontrolle leicht gemacht ... 62

  2.  Grundlagen der Sprache C# ... 67

       2.1 ... Konsolenanwendungen ... 67
       2.2 ... Grundlagen der C#-Syntax ... 74
       2.3 ... Variablen und Datentypen ... 79
       2.4 ... Operatoren ... 105
       2.5 ... Datenfelder (Arrays) ... 118
       2.6 ... Kontrollstrukturen ... 127
       2.7 ... Programmschleifen ... 138

  3.  Das Klassendesign ... 155

       3.1 ... Einführung in die Objektorientierung ... 155
       3.2 ... Die Klassendefinition ... 158
       3.3 ... Referenz- und Wertetypen ... 166
       3.4 ... Die Eigenschaften eines Objekts ... 167
       3.5 ... Methoden eines Objekts ... 176
       3.6 ... Konstruktoren ... 204
       3.7 ... Der Destruktor ... 211
       3.8 ... Konstanten in einer Klasse ... 212
       3.9 ... Statische Klassenkomponenten ... 214
       3.10 ... Namensräume (Namespaces) ... 221
       3.11 ... Aktueller Stand der Klasse »Circle« ... 232

  4.  Vererbung, Polymorphie und Interfaces ... 235

       4.1 ... Die Vererbung ... 235
       4.2 ... Der Problemfall geerbter Methoden ... 244
       4.3 ... Typkonvertierung und Typuntersuchung von Objektvariablen ... 251
       4.4 ... Polymorphie ... 257
       4.5 ... Weitere Gesichtspunkte der Vererbung ... 265
       4.6 ... Das Projekt »GeometricObjectsSolution« ergänzen ... 268
       4.7 ... Eingebettete Klassen ... 272
       4.8 ... Interfaces (Schnittstellen) ... 272
       4.9 ... Das Zerstören von Objekten -- der Garbage Collector ... 292
       4.10 ... Die Ergänzungen in den Klassen »Circle« und »Rectangle« ... 299

  5.  Delegaten, Ereignisse und Lambda-Ausdrücke ... 301

       5.1 ... Delegaten ... 301
       5.2 ... Ereignisse eines Objekts ... 311
       5.3 ... Lambda-Ausdrücke ... 328
       5.4 ... Änderungen im Projekt »GeometricObjectsSolution« ... 334

  6.  Strukturen, Records und Enumerationen ... 339

       6.1 ... Strukturen -- eine Sonderform der Klassen ... 339
       6.2 ... Datensatztypen -- Klassen mit Standards ... 348
       6.3 ... Klassen, Strukturen oder Records? ... 352
       6.4 ... Enumerationen (Aufzählungen) ... 355
       6.5 ... Boxing und Unboxing ... 357

  7.  Fehlerbehandlung und Debugging ... 359

       7.1 ... Laufzeitfehler erkennen ... 360
       7.2 ... Debuggen mit Programmcode ... 383
       7.3 ... Fehlersuche mit Visual Studio ... 391

  8.  Auflistungsklassen (Collections) ... 399

       8.1 ... Collections im Namespace »System.Collections« ... 399
       8.2 ... Die Klasse »ArrayList« ... 403
       8.3 ... Die Klasse »Hashtable« ... 415
       8.4 ... Die Klassen »Queue« und »Stack« ... 421
       8.5 ... Eigene Auflistungen mit »yield« durchlaufen ... 424
       8.6 ... Collection Expressions ... 427

  9.  Generics -- generische Datentypen ... 429

       9.1 ... Bereitstellen einer generischen Klasse ... 431
       9.2 ... Bedingungen (Constraints) festlegen ... 434
       9.3 ... Generische Methoden ... 438
       9.4 ... Generische Attribute ... 439
       9.5 ... Generics und Vererbung ... 441
       9.6 ... Typkonvertierung von Generics ... 443
       9.7 ... Generische Delegaten ... 444
       9.8 ... »Nullable«-Typen ... 445
       9.9 ... Generische Collections ... 447
       9.10 ... Kovarianz und Kontravarianz generischer Typen ... 452
       9.11 ... Generische Mathematik ... 457
       9.12 ... Ergänzungen im Beispielprojekt »GeometricObjectsSolution« ... 459

10.  Weitere C#-Sprachfeatures ... 461

       10.1 ... Implizit typisierte Variablen ... 461
       10.2 ... Anonyme Typen ... 462
       10.3 ... Erweiterungsmethoden ... 463
       10.4 ... Spezielle Methoden ... 467
       10.5 ... Operatorüberladung ... 474
       10.6 ... »Nullable«-Referenztypen ... 485
       10.7 ... Die »with«-Anweisung ... 490
       10.8 ... Indexer ... 491
       10.9 ... Attribute ... 498
       10.10 ... Der bedingte NULL-Operator ... 511
       10.11 ... Der »nameof«-Operator ... 513
       10.12 ... Dynamisches Binden ... 514
       10.13 ... Tupel ... 518
       10.14 ... Pattern Matching (Musterabgleich) ... 523
       10.15 ... Rückgabewerte mit »ref« ... 529
       10.16 ... Unsicherer (unsafe) Programmcode -- Zeigertechnik in C# ... 532

11.  LINQ -- Language Integrated Query ... 539

       11.1 ... Einstieg in LINQ ... 539
       11.2 ... LINQ to Objects ... 545
       11.3 ... Die Abfrageoperatoren ... 549

12.  Arbeiten mit Dateien und Streams ... 575

       12.1 ... Einführung ... 575
       12.2 ... Namespaces der Ein- bzw. Ausgabe ... 576
       12.3 ... Laufwerke, Verzeichnisse und Dateien ... 577
       12.4 ... Die »Stream«-Klassen ... 594
       12.5 ... Die Klassen »TextReader« und »TextWriter« ... 606
       12.6 ... Die Klassen »BinaryReader« und »BinaryWriter« ... 612
       12.7 ... Serialisierung ... 621

13.  Multithreading ... 631

       13.1 ... Einführung in das Multithreading ... 632
       13.2 ... Threads -- allgemein betrachtet ... 633
       13.3 ... Mit der Klasse »Thread« arbeiten ... 635
       13.4 ... Der Threadpool ... 647
       13.5 ... Synchronisation von Threads ... 648
       13.6 ... Grundlagen asynchroner Methodenaufrufe ... 673

14.  Die Task Parallel Library (TPL) und das Task-based Async Pattern (TAP) ... 687

       14.1 ... Die wichtigsten Klassen der TPL ... 688
       14.2 ... Die Klasse »Task« ... 688
       14.3 ... Die Klasse »Parallel« ... 701
       14.4 ... Asynchrone Programmierung mit »async« und »await« ... 708

15.  Grundlegende .NET-Klassen ... 715

       15.1 ... Die Klasse »Object« ... 715
       15.2 ... Die Klasse »String« ... 721
       15.3 ... Die Klasse »StringBuilder« ... 736
       15.4 ... Der Typ »DateTime« ... 742
       15.5 ... Die Klasse »TimeSpan« ... 747
       15.6 ... Die Klassen »DateOnly« und »TimeOnly« ... 750
       15.7 ... Ausgabeformatierung ... 751

16.  Einführung in das Entity Framework Core ... 761

       16.1 ... Was ist das Entity Framework Core? ... 761
       16.2 ... Grundkonzepte und Projekt-Setup von EF Core ... 767
       16.3 ... Unser erstes Projekt ... 772
       16.4 ... Datenabfragen mit LINQ ... 783
       16.5 ... Weitere Datenbankzugriffe ... 786
       16.6 ... Eager, Lazy und Explicit Loading ... 791
       16.7 ... Modellierung von Beziehungen ... 794
       16.8 ... Die Arbeit mit Migrationen ... 802
       16.9 ... Data Seeding und Datenbankinitialisierung ... 806
       16.10 ... Modellierung von Vererbung und Polymorphie ... 809
       16.11 ... Performance und Tuning ... 813
       16.12 ... EF Core und moderne .NET-Features ... 815

17.  Desktop- und Cross-Platform-Entwicklung ... 819

       17.1 ... WinForms, WPF und .NET MAUI -- ein Vergleich ... 819
       17.2 ... Und was ist mit der UWP und WinUI 3? ... 821
       17.3 ... XAML (Extended Application Markup Language) ... 823
       17.4 ... Grundkonzepte von Windows Forms (WinForms) ... 840

18.  Windows Presentation Foundation ... 845

       18.1 ... Eine WPF-Anwendung und ihre Dateien ... 845
       18.2 ... Fenster in der WPF ... 847
       18.3 ... Nachrichtenfenster mit »MessageBox« ... 848
       18.4 ... Standarddialoge in der WPF ... 850
       18.5 ... Die WPF-Layoutcontainer ... 850
       18.6 ... WPF-Steuerelemente ... 857
       18.7 ... Ereignisse in der WPF ... 866
       18.8 ... Die Ereignishandler ... 870
       18.9 ... WPF-Datenbindung und WPF-Commands ... 873
       18.10 ... Die Klasse »Binding« ... 876
       18.11 ... WPF-Commands ... 887
       18.12 ... »RoutedCommand«-Objekte und »CommandBindings« ... 898
       18.13 ... Das MVVM-Pattern ... 902

19.  Einführung in .NET MAUI ... 911

       19.1 ... Was ist .NET MAUI? ... 911
       19.2 ... Architektur von .NET MAUI im Kontext von .NET ... 913
       19.3 ... Struktur eines MAUI-Projekts ... 914
       19.4 ... Eine erste Anwendung ... 921
       19.5 ... Zentrale Konzepte ... 925
       19.6 ... Datenbindung und MVVM mit .NET MAUI ... 932
       19.7 ... Plattformunabhängigkeit und plattformspezifischer Code ... 940
       19.8 ... Debugging und Deployment ... 942

20.  2D-Grafik in WPF und .NET MAUI ... 945

       20.1 ... Shapes ... 945
       20.2 ... »Path«-Elemente ... 949
       20.3 ... »Brush«-Objekte ... 953
       20.4 ... 2D-Grafik in .NET MAUI ... 965

21.  Komponententests (Unit-Tests) ... 967

       21.1 ... Was ist ein Unit-Test? ... 967
       21.2 ... Ein erster Komponententest ... 970
       21.3 ... Komponententest schreiben und ausführen ... 977
       21.4 ... Die Klasse »TestContext« ... 995
       21.5 ... Data-Driven Unit-Tests (datengetriebene Tests) ... 998
       21.6 ... Lebenszyklus-Attribute ... 1011
       21.7 ... Testen mit »Assert« ... 1016
       21.8 ... Test-Driven Development -- TDD ... 1025

22.  Einführung in ASP.NET Core ... 1027

       22.1 ... Was ist ASP.NET Core? ... 1027
       22.2 ... Web-API-Projektstruktur und erste Schritte ... 1032
       22.3 ... Minimal APIs vs. klassische Controller-Architektur ... 1040
       22.4 ... Routing und Middleware ... 1047
       22.5 ... Dependency Injection ... 1054
       22.6 ... Konfiguration und Umgebungen ... 1057
       22.7 ... Entity Framework Core Integration ... 1061
       22.8 ... Authentifizierung und Autorisierung ... 1068
       22.9 ... Fehlerbehandlung und Logging ... 1072
       22.10 ... OpenAPI/Swagger ... 1076
       22.11 ... Deployment und Hosting ... 1081
       22.12 ... Unit-Testing von ASP.NET-Core-Anwendungen ... 1085

23.  Einführung in Blazor ... 1089

       23.1 ... Was ist Blazor? ... 1089
       23.2 ... Wie funktioniert Blazor? ... 1093
       23.3 ... Projektstruktur und Build-System ... 1096
       23.4 ... Blazor-Komponenten im Detail ... 1106
       23.5 ... Routing und Navigation ... 1110
       23.6 ... Datenbindung und Formulare ... 1114
       23.7 ... State Management ... 1118
       23.8 ... Interop mit JavaScript ... 1122
       23.9 ... Zugriff auf APIs und Backend ... 1125
       23.10 ... Blazor Hybrid für den Desktop ... 1129
       23.11 ... Fortgeschrittene Themen ... 1132

24.  Cloud-Entwicklung mit Azure ... 1135

       24.1 ... Was ist Microsoft Azure? ... 1135
       24.2 ... Überblick über Cloud-Computing ... 1136
       24.3 ... Cloud-Service-Modelle: PaaS, IaaS, und SaaS ... 1138
       24.4 ... Vorteile der Cloud-Entwicklung mit Azure ... 1141
       24.5 ... Azure-Ressourcenmanagement und -Architektur ... 1142
       24.6 ... Schlüsseldienste: Azure Compute, Storage, Databases und KI ... 1147
       24.7 ... Azure CLI und Azure PowerShell ... 1152
       24.8 ... Azure SDKs für .NET ... 1155
       24.9 ... Nutzung des Azure-Portals ... 1159
       24.10 ... Azure SQL Database und Cosmos DB ... 1159
       24.11 ... Azure Blob Storage ... 1164
       24.12 ... Azure Functions und Logic Apps ... 1167
       24.13 ... Azure Monitor und Application Insights ... 1172
       24.14 ... Einrichten von Azure DevOps ... 1176

25.  Softwareentwicklung in Zeiten von KI ... 1179

       25.1 ... Warum KI in der Softwareentwicklung? ... 1179
       25.2 ... Grundlagen der künstlichen Intelligenz ... 1180
       25.3 ... KI-Plattformen und Tools von Microsoft ... 1185
       25.4 ... Machine Learning mit ML.NET ... 1189
       25.5 ... Azure AI Services und Azure OpenAI in C# nutzen ... 1198
       25.6 ... Generative KI nutzen ... 1204
       25.7 ... Microsoft.Extensions.AI und Microsoft.Extensions.VectorData ... 1214
       25.8 ... Einsatz von KI in der Softwareentwicklung selbst ... 1218
       25.9 ... Ethik, Datenschutz und Verantwortung in der KI-Entwicklung ... 1227
       25.10 ... Best Practices und typische Fallstricke ... 1229

  Index ... 1233



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.