Kühnel / Deitelhoff | C# mit .NET | E-Book | sack.de
E-Book

E-Book, Deutsch, 1250 Seiten

Reihe: Rheinwerk Computing

Kühnel / Deitelhoff C# mit .NET

Das umfassende Handbuch
9. Auflage 2025
ISBN: 978-3-367-10321-8
Verlag: Rheinwerk
Format: PDF
Kopierschutz: 0 - No protection

Das umfassende Handbuch

E-Book, Deutsch, 1250 Seiten

Reihe: Rheinwerk Computing

ISBN: 978-3-367-10321-8
Verlag: Rheinwerk
Format: PDF
Kopierschutz: 0 - No protection



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.