Warenkorb

C# 8 mit Visual Studio 2019

Das umfassende Handbuch: Spracheinführung, Objektorientierung, Programmiertechniken. Aktuell zu Visual Studio 2019

C#-Basics für Entwickler



  • Spracheinführung, Objektorientierung, Programmiertechniken

  • Inkl. LINQ, Task Parallel Library (TPL), Entity Framework u. v. m.

  • Windows-Programmierung mit WPF, Model View ViewModel (MVVM)


Der ideale Begleiter für Ihre tägliche Arbeit mit C# 8 und Visual Studio 2019! In diesem Buch finden Sie geballtes C#-Wissen: von den Sprachgrundlagen und der Objektorientierung über Klassendesign, LINQ und Multithreading bis zur Oberflächenentwicklung mit WPF, Model View ViewModel (MVVM) und der Datenbankanbindung mit Entity Framework. Typische Praxisbeispiele helfen Ihnen bei der Umsetzung.

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

Portrait
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.
… weiterlesen
  • Artikelbild-0


  •   Materialien zum Buch ... 32

      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« ... 1014

           24.4 ... Hosts vom Typ »Frame« ... 1027

           24.5 ... Nachrichtenfenster mit »MessageBox« ... 1029

           24.6 ... Standarddialoge in der WPF ... 1032

    25.  WPF-Steuerelemente ... 1037

           25.1 ... Die Hierarchie der WPF-Komponenten ... 1037

           25.2 ... Allgemeine Eigenschaften der WPF-Steuerelemente ... 1039

           25.3 ... Die Gruppe der Schaltflächen ... 1045

           25.4 ... Einfache Eingabesteuerelemente ... 1050

           25.5 ... WPF-Listenelemente ... 1058

           25.6 ... Weitere Steuerelemente ... 1080

           25.7 ... Das »Ribbon«-Steuerelement ... 1091

    26.  Dependency Properties ... 1099

           26.1 ... Die Charakteristik von Abhängigkeitseigenschaften ... 1099

           26.2 ... Den Wert einer Abhängigkeitseigenschaft bilden ... 1100

           26.3 ... Definition einer Dependency Property ... 1101

           26.4 ... Validieren einer Abhängigkeitseigenschaft ... 1109

           26.5 ... Angehängte Eigenschaften (Attached Properties) ... 1111

    27.  Ereignisse in der WPF ... 1115

           27.1 ... Ereignishandler bereitstellen ... 1115

           27.2 ... Routing-Strategien ... 1116

           27.3 ... Der Ereignishandler ... 1122

           27.4 ... Benutzerdefinierte Routed Events ... 1125

           27.5 ... Mausereignisse in der WPF ... 1129

    28.  Ressourcen, Styles, Trigger und Templates ... 1135

           28.1 ... Binäre Ressourcen ... 1135

           28.2 ... Logische Ressourcen ... 1138

           28.3 ... Styles ... 1150

           28.4 ... Trigger ... 1158

           28.5 ... Templates ... 1169

    29.  WPF-Datenbindung ... 1177

           29.1 ... Die Klasse »Binding« ... 1180

           29.2 ... Konverter mit »IValueConverter« und »IMultiValueConverter« ... 1192

           29.3 ... Validieren von Bindungen ... 1200

           29.4 ... Datenbindung mit »ObjectDataProvider« ... 1213

           29.5 ... Aktualisieren von Datenklassen ... 1216

           29.6 ... Datenbindung von Listen-Steuerelementen ... 1223

           29.7 ... Datenbindung und das Entity Framework ... 1237

           29.8 ... Das Steuerelement »DataGrid« ... 1238

           29.9 ... Das »TreeView«-Control ... 1250

           29.10 ... Navigieren, Filtern, Sortieren und Gruppieren ... 1259

           29.11 ... Dynamische Zuweisung von Styles und »DataTemplate«-Objekten ... 1272

    30.  WPF -- weitergehende Techniken ... 1279

           30.1 ... WPF und Multithreading ... 1279

           30.2 ... Globalisierung und Lokalisierung ... 1286

           30.3 ... Benutzerdefinierte Controls ... 1296

    31.  WPF-Commands ... 1307

           31.1 ... Allgemeine Beschreibung ... 1308

           31.2 ... Ein erstes Programmbeispiel ... 1308

           31.3 ... Die Befehlsquelle ... 1311

           31.4 ... WPF-Commands ... 1315

           31.5 ... »RoutedCommand«-Objekte und »CommandBindings« ... 1320

    32.  Das MVVM-Pattern ... 1331

           32.1 ... Die Theorie hinter dem Model-View-ViewModel-Pattern ... 1331

           32.2 ... Allgemeine Beschreibung des Beispielprogramms ... 1332

           32.3 ... Der Ausgangspunkt im Beispiel »MVVM_Origin« ... 1334

           32.4 ... Das Bereitstellen des Models ... 1334

           32.5 ... Bereitstellen des ViewModels ... 1336

           32.6 ... WPF-Commands und Eigenschaften im ViewModel ... 1341

           32.7 ... »RoutedCommand«-Objekte im MVVM ... 1347

           32.8 ... Beliebige Ereignisse mit »EventTrigger«-Objekten behandeln ... 1352

           32.9 ... Die Klasse »Person« durch ein ViewModel kapseln ... 1356

           32.10 ... Die Schaltflächen »Rückgängig« und »Speichern« ... 1368

           32.11 ... Ein Control in der View fokussieren ... 1374

           32.12 ... Die Listenelemente sortieren ... 1378

           32.13 ... Ereignisse im ViewModel auslösen ... 1380

    33.  2D-Grafik ... 1385

           33.1 ... Shapes ... 1385

           33.2 ... Path-Elemente ... 1389

           33.3 ... »Brush«-Objekte ... 1393

    34.  Komponententests (Unit-Tests) ... 1405

           34.1 ... Was ist ein Unit-Test? ... 1405

           34.2 ... Ein erster Komponententest ... 1408

           34.3 ... Komponententest schreiben und ausführen ... 1415

           34.4 ... Die Klasse »TestContext« ... 1432

           34.5 ... Data-Driven Unit Tests (datengetriebene Tests) ... 1436

           34.6 ... Lebenszyklus- Attribute ... 1449

           34.7 ... Testen mit »Assert« ... 1453

           34.8 ... Test-Driven Development -- TDD ... 1462

      Index ... 1465

In den Warenkorb

Beschreibung

Produktdetails

Einband gebundene Ausgabe
Seitenzahl 1478
Erscheinungsdatum 26.07.2019
Sprache Deutsch
ISBN 978-3-8362-6458-7
Reihe Rheinwerk Computing
Verlag Rheinwerk
Maße (L/B/H) 24,9/19,5/7,1 cm
Gewicht 2504 g
Auflage 8. aktualisierte Auflage
Verkaufsrang 32858
Buch (gebundene Ausgabe)
Buch (gebundene Ausgabe)
49,90
49,90
inkl. gesetzl. MwSt.
inkl. gesetzl. MwSt.
Sofort lieferbar Versandkostenfrei
Sofort lieferbar
Versandkostenfrei
In den Warenkorb
PAYBACK Punkte
Vielen Dank für Ihr Feedback!
Entschuldigung, beim Absenden Ihres Feedbacks ist ein Fehler passiert. Bitte versuchen Sie es erneut.
Ihr Feedback zur Seite
Haben Sie alle relevanten Informationen erhalten?
Ihr Feedback ist anonym. Wir nutzen es, um unsere Produktseiten zu verbessern. Bitte haben Sie Verständnis, dass wir Ihnen keine Rückmeldung geben können. Wenn Sie Kontakt mit uns aufnehmen möchten, können Sie sich aber gerne an unseren Kundenservice wenden.

Kundenbewertungen

Es wurden noch keine Bewertungen geschrieben.