
Visual C# 2012
Das umfassende Handbuch: Spracheinführung, Objektorientierung, Programmiertechniken
Andreas Kühnel(Author)
Galileo Computing (Publisher)
6th Edition
Published on 28. November 2012
Book
Mixed media product
1402 pages
978-3-8362-1997-6 (ISBN)
Article exhausted; check for reprint
Description
Wenn Sie ein Buch suchen, dass Ihnen bei allen Fragen der C#-Entwicklung zuverlässig mit Rat und Tat zur Seite steht, dann ist unser bewährtes Kompendium genau das Richtige für Sie. Mittlerweile in der 6. 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.In den ersten Kapiteln werden zunächst die Grundlagen von C#, .NET und der objektorientierten Programmierung vermittelt. Es folgen Kapitel zur effizienten Entwicklung mit Visual Studio 2012, zur Fehlerbehandlung sowie zu 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 die WPF und XAML erfahren Sie hier alles Notwendige, um auch komplexe Anwendungen zu gestalten. Anschließend wird die Datenbankprogrammierung mit ADO.NET ausführlich behandelt und zu guter Letzt die Weitergabe von .NET-Anwendungen thematisiert. So sind Sie für Ihren Arbeitsalltag bestens gerüstet!
Aus dem Inhalt:
C#-Spracheinführung
.NET 4.5 und Visual C# 2012
Objektorientierte Programmierung
Fehlerbehandlung und Debugging
Language Integrated Query (LINQ)
Multithreading und Task Parallel Library
Datenaustausch mit XML
GUI-Entwicklung mit der WPF
Datenbankprogrammierung mit ADO.NET
Verteilung von Anwendungen
Aus dem Inhalt:
C#-Spracheinführung
.NET 4.5 und Visual C# 2012
Objektorientierte Programmierung
Fehlerbehandlung und Debugging
Language Integrated Query (LINQ)
Multithreading und Task Parallel Library
Datenaustausch mit XML
GUI-Entwicklung mit der WPF
Datenbankprogrammierung mit ADO.NET
Verteilung von Anwendungen
Reviews / Votes
»Die nun sechste Auflage des umfassenden Handbuchs von Andreas Kühnel zu Visual C# wurde für die Version 2012 aktualisiert und erweitert. Seine Schwerpunkte liegen auf der Syntax von C#, einem fundierten Einstieg in die objektorientierte Programmierung, der Erstellung von Windows-Anwendungen mit WPF sowie der Datenbankprogrammierung mit ADO.NET und dem ADO. NET Entity Framework. Das Handbuch richtet sich an Einsteiger sowie Umsteiger und berücksichtigt die jüngsten Neuerungen von .NET 4.5 wie beispielsweise das Ribbon-Steuerelement in WPF. Es handelt sich, wie der Titel schon verrät, nicht um ein Praxisbuch sondern um ein Handbuch. Diesem Anspruch wird es allerdings voll gerecht und eignet sich durch die zahlreichen Codebeispiele, erläuternde Abbildungen und Tabellen Sehr gut als Nachschlagewerk, wodurch es die entsprechende Gesamtnote verdient hat.«More details
Series
Language
German
Place of publication
Bonn
Germany
Publishing group
Rheinwerk
Edition type
Enlarged edition
Dimensions
Height: 24 cm
Width: 19 cm
ISBN-13
978-3-8362-1997-6 (9783836219976)
Schweitzer Classification
Other editions
New editions

Andreas Kühnel
C# 6 mit Visual Studio 2015
Das umfassende Handbuch: Spracheinführung, Objektorientierung, Programmiertechniken
Book
10/2015
7th Edition
Rheinwerk
€49.90
Article exhausted; check for reprint
Previous edition

Book
08/2010
5th Edition
Galileo Computing
€49.90
Article exhausted; check for reprint
Person
Andreas Kühnel wohnt in Aachen und beschäftigt sich seit den Anfängen des C64 mit der Programmierung. Er ist seit 1995 Microsoft Certified Trainer (MCT) und zudem als Microsoft Certified Developer (MCSD) und Java-Programmierer (SCJP) zertifiziert. Seine "große Liebe" galt anfangs Visual Basic und hier insbesondere der Datenbankprogrammierung und der Entwicklung von COM/COM+-Anwendungen. Seit der ersten Vorstellung von .NET konzentriert sich sein Schwerpunkt hauptsächlich auf VB.NET und C# sowie den Produkten, die sich im Umfeld von .NET ansiedeln, u.a. dem BizTalk Server und SharePoint.
Andreas Kühnel ist als freiberuflicher IT-Trainer und Berater tätig. Sie erreichen ihn unter Kuehnel@dotnet-training.de.
Andreas Kühnel ist als freiberuflicher IT-Trainer und Berater tätig. Sie erreichen ihn unter Kuehnel@dotnet-training.de.
Content
Vorwort zur 6. Auflage ... 31
1. Allgemeine Einführung in .NET ... 33
1.1 ... Warum .NET? ... 33
1.2 ... .NET unter die Lupe genommen ... 38
1.3 ... Assemblys ... 48
1.4 ... Die Entwicklungsumgebung ... 50
2. Grundlagen der Sprache C# ... 57
2.1 ... Konsolenanwendungen ... 57
2.2 ... Grundlagen der C#-Syntax ... 60
2.3 ... Variablen und Datentypen ... 66
2.4 ... Operatoren ... 87
2.5 ... Datenfelder (Arrays) ... 100
2.6 ... Kontrollstrukturen ... 108
2.7 ... Programmschleifen ... 117
3. Das Klassendesign ... 133
3.1 ... Einführung in die Objektorientierung ... 133
3.2 ... Die Klassendefinition ... 136
3.3 ... Referenz- und Wertetypen ... 143
3.4 ... Die Eigenschaften eines Objekts ... 145
3.5 ... Methoden eines Objekts ... 153
3.6 ... Konstruktoren ... 178
3.7 ... Der Destruktor ... 184
3.8 ... Konstanten in einer Klasse ... 185
3.9 ... Statische Klassenkomponenten ... 186
3.10 ... Namensräume (Namespaces) ... 193
3.11 ... Stand der Klasse »Circle« ... 203
4. Vererbung, Polymorphie und Interfaces ... 205
4.1 ... Die Vererbung ... 205
4.2 ... Der Problemfall geerbter Methoden ... 214
4.3 ... Typumwandlung und Typuntersuchung von Objektvariablen ... 220
4.4 ... Polymorphie ... 224
4.5 ... Weitere Gesichtspunkte der Vererbung ... 230
4.6 ... Das Projekt »GeometricObjectsSolution« ergänzen ... 233
4.7 ... Eingebettete Klassen (Nested Classes) ... 237
4.8 ... Interfaces (Schnittstellen) ... 237
4.9 ... Das Zerstören von Objekten -- der »Garbage Collector« ... 251
5. Delegates und Ereignisse ... 259
5.1 ... Delegates ... 259
5.2 ... Ereignisse eines Objekts ... 270
5.3 ... Änderungen im Projekt »GeometricObjects« ... 285
6. Strukturen und Enumerationen ... 289
6.1 ... Strukturen -- eine Sonderform der Klassen ... 289
6.2 ... Enumerationen (Aufzählungen) ... 295
6.3 ... Boxing und Unboxing ... 298
7. Fehlerbehandlung und Debugging ... 299
7.1 ... Laufzeitfehler behandeln ... 299
7.2 ... Debuggen mit Programmcode ... 319
7.3 ... Fehlersuche mit Visual Studio 2012 ... 327
8. Auflistungsklassen (Collections) ... 333
8.1 ... Grundlagen ... 333
8.2 ... Collections im Namespace »System.Collections« ... 333
8.3 ... Die Klasse »ArrayList« ... 337
8.4 ... Die Klasse »Hashtable« ... 348
8.5 ... Die Klassen »Queue« und »Stack« ... 353
8.6 ... Eigene Auflistungen mit »yield« durchlaufen ... 356
9. Generics -- Generische Datentypen ... 359
9.1 ... Problembeschreibung ... 359
9.2 ... Bereitstellen einer generischen Klasse ... 360
9.3 ... Bedingungen (Constraints) festlegen ... 363
9.4 ... Generische Methoden ... 367
9.5 ... Generics und Vererbung ... 368
9.6 ... Konvertierung von Generics ... 370
9.7 ... Generische Delegates ... 371
9.8 ... Nullable-Typen ... 373
9.9 ... Generische Collections ... 374
9.10 ... Kovarianz und Kontravarianz generischer Typen ... 379
10. Weitere C#-Sprachfeatures ... 385
10.1 ... Implizit typisierte Variablen ... 385
10.2 ... Anonyme Typen ... 386
10.3 ... Lambda-Ausdrücke ... 387
10.4 ... Erweiterungsmethoden ... 389
10.5 ... Partielle Methoden ... 393
10.6 ... Operatorüberladung ... 396
10.7 ... Indexer ... 407
10.8 ... Attribute ... 414
10.9 ... Dynamisches Binden ... 426
10.10 ... Unsicherer (unsafe) Programmcode -- Zeigertechnik in C# ... 429
11. LINQ ... 435
11.1 ... Was ist LINQ? ... 435
11.2 ... LINQ to Objects ... 440
11.3 ... Die Abfrageoperatoren ... 444
12. Arbeiten mit Dateien und Streams ... 467
12.1 ... Einführung ... 467
12.2 ... Namespaces der Ein- bzw. Ausgabe ... 468
12.3 ... Laufwerke, Verzeichnisse und Dateien ... 469
12.4 ... Die »Stream«-Klassen ... 485
12.5 ... Die Klassen »TextReader« und »TextWriter« ... 496
12.6 ... Die Klassen »BinaryReader« und »BinaryWriter« ... 502
13. Binäre Serialisierung ... 511
13.1 ... Einführung in die Serialisierung ... 511
13.2 ... Serialisierung mit »BinaryFormatter« ... 513
14. XML ... 519
14.1 ... Grundlagen ... 519
14.2 ... XML-Dokumente ... 519
14.3 ... Die Gültigkeit eines XML-Dokuments ... 534
14.4 ... Die Klasse »XmlReader« ... 545
14.5 ... Eigenschaften und Methoden der Klasse »XmlReader« ... 554
14.6 ... Die Klasse »XmlWriter« ... 557
14.7 ... Navigation durch XML (XPath) ... 562
14.8 ... Das Document Object Model (DOM) ... 579
14.9 ... Serialisierung mit »XmlSerializer« ... 596
14.10 ... LINQ to XML ... 601
15. Multithreading und die Task Parallel Library (TPL) ... 613
15.1 ... Überblick ... 613
15.2 ... Multithreading mit der Klasse »Thread« ... 614
15.3 ... Die TPL (Task Parallel Library) ... 650
15.4 ... Asynchrone Programmierung mit »async« und »await« ... 661
16. Einige wichtige .NET-Klassen ... 665
16.1 ... Die Klasse »Object« ... 665
16.2 ... Die Klasse »String« ... 670
16.3 ... Die Klasse »StringBuilder« ... 684
16.4 ... Der Typ »DateTime« ... 690
16.5 ... Die Klasse »TimeSpan« ... 694
16.6 ... Ausgabeformatierung ... 697
17. Projektmanagement und Visual Studio 2012 ... 705
17.1 ... Der Projekttyp »Klassenbibliothek« ... 705
17.2 ... Assemblys ... 709
17.3 ... Konfigurationsdateien ... 721
17.4 ... Versionsumleitung in einer Konfigurationsdatei ... 734
17.5 ... XML-Dokumentation ... 736
17.6 ... Der Klassendesigner (Class Designer) ... 742
17.7 ... Refactoring ... 747
17.8 ... Code-Snippets (Codeausschnitte) ... 750
17.9 ... »ClickOnce«-Verteilung ... 753
18. Einführung in die WPF und XAML ... 759
18.1 ... Die Merkmale einer WPF-Anwendung ... 759
18.2 ... XAML (Extended Application Markup Language) ... 773
19. WPF-Layout-Container ... 789
19.1 ... Die Container-Steuerelemente ... 789
19.2 ... Verschachteln der Layout-Container ... 805
20. Fenster in der WPF ... 809
20.1 ... Hosts der WPF ... 809
20.2 ... Fenster vom Typ »Window« ... 810
20.3 ... Fenster vom Typ »NavigationWindow« ... 814
20.4 ... Hosts vom Typ »Frame« ... 817
20.5 ... Navigation zwischen den Seiten ... 818
20.6 ... Datenübergabe zwischen den Seiten ... 825
20.7 ... Nachrichtenfenster mit »MessageBox« ... 828
21. WPF-Steuerelemente ... 833
21.1 ... Die Hierarchie der WPF-Komponenten ... 833
21.2 ... Allgemeine Eigenschaften der WPF-Steuerelemente ... 835
21.3 ... Die unterschiedlichen Schaltflächen ... 842
21.4 ... Einfache Eingabesteuerelemente ... 848
21.5 ... WPF-Listenelemente ... 856
21.6 ... Weitere Steuerelemente ... 879
21.7 ... Das »Ribbon«-Steuerelement ... 893
21.8 ... FlowDocuments ... 899
21.9 ... Das Element »FlowDocumentViewer« ... 911
21.10 ... XPS-Dokumente mit »DocumentViewer« ... 913
21.11 ... Das Steuerelement »RichTextBox« ... 915
22. Elementbindungen ... 921
22.1 ... Einführung in die Bindungstechnik ... 921
22.2 ... Die Klasse »Binding« ... 924
22.3 ... Bindungsalternativen ... 931
23. Konzepte von WPF ... 935
23.1 ... Anwendungsspezifische Ressourcen ... 935
23.2 ... Anwendungsübergreifende Ressourcen ... 937
23.3 ... Logische Ressourcen ... 940
23.4 ... Styles ... 948
23.5 ... Trigger ... 956
23.6 ... Templates ... 962
23.7 ... Ermitteln des visuellen Elementbaums ... 969
24. Datenbindung ... 975
24.1 ... Bindung benutzerdefinierter Objekte ... 975
24.2 ... Auflistungen binden ... 981
24.3 ... Validieren von Bindungen ... 987
24.4 ... Daten konvertieren ... 995
24.5 ... Datenbindung an ADO.NET- und LINQ-Datenquellen ... 1000
25. Weitere Möglichkeiten der Datenbindung ... 1005
25.1 ... »ItemsControl«-Steuerelemente anpassen ... 1005
25.2 ... Alternative Datenbindungen ... 1014
25.3 ... Navigieren, Filtern, Sortieren und Gruppieren ... 1016
25.4 ... Das Steuerelement »DataGrid« ... 1030
26. Dependency Properties ... 1041
26.1 ... Die Charakteristik von Abhängigkeitseigenschaften ... 1041
26.2 ... Den Wert einer Abhängigkeitseigenschaft bilden ... 1042
26.3 ... Definition einer Dependency Property ... 1043
26.4 ... Validieren einer Abhängigkeitseigenschaft ... 1051
26.5 ... Angehängte Eigenschaften (Attached Property) ... 1053
27. Ereignisse in der WPF ... 1057
27.1 ... Ereignishandler bereitstellen ... 1057
27.2 ... Routing-Strategien ... 1058
27.3 ... Der Ereignishandler ... 1063
27.4 ... Definition eines Routed Events ... 1066
27.5 ... Mausereignisse in der WPF ... 1071
28. WPF-Commands ... 1077
28.1 ... Allgemeine Beschreibung ... 1077
28.2 ... Vordefinierte WPF-Commands ... 1079
28.3 ... Commands verwenden ... 1080
28.4 ... Die Anatomie eines »Command«-Objekts ... 1087
28.5 ... Das MVVM-Pattern ... 1091
29. Benutzerdefinierte Controls ... 1097
29.1 ... Erstellen eines benutzerdefinierten Steuerelements ... 1097
29.2 ... Der XAML-Code ... 1099
29.3 ... Die Programmlogik des Steuerelements ... 1100
29.4 ... Testanwendung ... 1104
30. 2D-Grafik ... 1107
30.1 ... Shapes ... 1107
30.2 ... Path-Elemente ... 1111
30.3 ... Brush-Objekte ... 1115
31. ADO.NET -- Verbindungsorientierte Objekte ... 1127
31.1 ... Allgemeines ... 1127
31.2 ... Die Datenprovider ... 1128
31.3 ... Die Verbindung zu einer Datenbank herstellen ... 1129
32. ADO.NET -- Das Command-Objekt ... 1149
32.1 ... Die Datenbankabfrage ... 1149
32.2 ... Das SqlCommand-Objekt ... 1149
32.3 ... Aktionsabfragen absetzen ... 1152
32.4 ... Das SqlDataReader-Objekt ... 1154
32.5 ... Parametrisierte Abfragen ... 1162
33. ADO.NET -- Der SqlDataAdapter ... 1177
33.1 ... Was ist ein DataAdapter? ... 1177
33.2 ... Die Konstruktoren der Klasse DataAdapter ... 1179
33.3 ... Arbeiten mit dem SqlDataAdapter ... 1179
33.4 ... Tabellenzuordnung mit der Klasse »TableMappings« ... 1184
33.5 ... Das Ereignis »FillError« des SqlDataAdapters ... 1188
34. ADO.NET -- Daten im lokalen Speicher ... 1191
34.1 ... Allgemeines ... 1191
34.2 ... Verwenden des DataSet-Objekts ... 1192
34.3 ... Gültigkeitsprüfung im DataSet ... 1196
34.4 ... Änderungen in einer DataTable vornehmen ... 1204
34.5 ... Mit mehreren Tabellen arbeiten ... 1214
34.6 ... Filtern und suchen in einer DataTable ... 1222
34.7 ... Objekte vom Typ »DataView« ... 1224
35. ADO.NET -- Aktualisieren der Datenbank ... 1231
35.1 ... Aktualisieren mit dem »CommandBuilder« ... 1231
35.2 ... Manuell gesteuerte Aktualisierung ... 1238
35.3 ... Konfliktanalyse ... 1242
35.4 ... Neue Autoinkrementwerte abrufen ... 1249
36. Stark typisierte DataSets ... 1251
36.1 ... Ein stark typisiertes DataSet erzeugen ... 1251
36.2 ... Die Anatomie eines typisierten DataSets ... 1255
36.3 ... Typisierte DataSets manuell im Designer erzeugen ... 1261
36.4 ... Weiter gehende Betrachtungen ... 1264
36.5 ... Der »TableAdapter« ... 1264
36.6 ... Fazit: Typisierte oder nicht typisierte DataSets? ... 1275
37. Einführung in das ADO.NET Entity Framework ... 1277
37.1 ... Kritische Betrachtung von ADO.NET ... 1277
37.2 ... Ein erstes Entity Data Model (EDM) erstellen ... 1279
37.3 ... Das Entity Data Model im Designer ... 1283
37.4 ... Der Aufbau des Entity Data Models ... 1289
37.5 ... Die Klassen des Entity Data Models (EDM) ... 1292
37.6 ... Die Architektur des Entity Frameworks ... 1297
38. Datenabfragen des Entity Data Models (EDM) ... 1301
38.1 ... Abfragen mit LINQ to Entities ... 1302
38.2 ... Abfragen mit Entity SQL ... 1324
38.3 ... Der EntityClient-Provider ... 1329
38.4 ... Abfrage-Generator-Methoden (QueryBuilder-Methoden) ... 1332
38.5 ... SQL-Direktabfragen ... 1333
39. Entitätsaktualisierung und Zustandsverwaltung ... 1335
39.1 ... Aktualisieren von Entitäten ... 1335
39.2 ... Der Lebenszyklus einer Entität im Objektkontext ... 1344
39.3 ... Das »ObjectStateEntry«-Objekt ... 1352
39.4 ... Die Klasse »EntityKey« ... 1357
39.5 ... Komplexere Szenarien ... 1358
40. Konflikte behandeln ... 1363
40.1 ... Allgemeine Betrachtungen ... 1363
40.2 ... Konkurrierende Zugriffe mit dem Entity Framework ... 1365
41. Plain Old CLR Objects (POCOs) ... 1371
41.1 ... Ein erstes Projekt mit POCO-Klassen ... 1371
41.2 ... Datenabfrage mit Hilfe der POCOs ... 1375
41.3 ... Änderungen verfolgen ... 1377
Index ... 1385