Visual C# 2012: Rheinwerk Computing
Autor Andreas Kühnelde Limba Germană Hardback – noi 2012
Aus dem Inhalt:
]]>
Die Fachpresse zur Vorauflage:
iX Programmieren heute: »Auf knapp 1300 Seiten verspricht der Autor alles, was der Leser für die tägliche Arbeit mit C# wissen muss. «
dotnetpro: »Das Handbuch ist als Lehr- und Nachschlagewerk geeignet.«
Professor Siegfried Weinmann,
FOM Hochschule für Oekonomie & Management : »Das Fachbuch erfüllt die Anforderungen unserer Lehrveranstaltungen.«
Din seria Rheinwerk Computing
- 20% Preț: 240.35 lei
- Preț: 146.67 lei
- 20% Preț: 150.91 lei
- 20% Preț: 314.36 lei
- 20% Preț: 238.07 lei
- 20% Preț: 170.37 lei
- 20% Preț: 429.86 lei
- 20% Preț: 163.16 lei
- 20% Preț: 405.03 lei
- 20% Preț: 225.08 lei
- 20% Preț: 248.27 lei
- 20% Preț: 76.76 lei
- 20% Preț: 160.70 lei
- 20% Preț: 176.55 lei
- 20% Preț: 164.12 lei
- 20% Preț: 180.45 lei
- Preț: 206.10 lei
- 20% Preț: 328.07 lei
- 20% Preț: 168.75 lei
- 20% Preț: 505.06 lei
- 20% Preț: 241.53 lei
- 20% Preț: 438.20 lei
- 20% Preț: 400.38 lei
- 20% Preț: 331.73 lei
- 20% Preț: 397.90 lei
- 20% Preț: 162.74 lei
- Preț: 211.66 lei
- 20% Preț: 169.59 lei
- 20% Preț: 602.16 lei
- 20% Preț: 188.27 lei
- 20% Preț: 319.43 lei
- 20% Preț: 276.21 lei
- 20% Preț: 180.11 lei
- 20% Preț: 142.44 lei
- 20% Preț: 359.14 lei
- 20% Preț: 345.68 lei
- 20% Preț: 351.27 lei
- 20% Preț: 173.07 lei
- 20% Preț: 394.49 lei
- 20% Preț: 418.36 lei
- 20% Preț: 256.64 lei
- 20% Preț: 329.49 lei
- 20% Preț: 260.72 lei
- 20% Preț: 251.77 lei
- 20% Preț: 187.26 lei
- 20% Preț: 224.53 lei
- 20% Preț: 287.89 lei
- 20% Preț: 328.50 lei
- 20% Preț: 152.60 lei
- 20% Preț: 176.62 lei
Preț: 397.76 lei
Preț vechi: 497.21 lei
-20% Nou
Puncte Express: 597
Preț estimativ în valută:
76.12€ • 78.99$ • 63.62£
76.12€ • 78.99$ • 63.62£
Carte indisponibilă temporar
Doresc să fiu notificat când acest titlu va fi disponibil:
Se trimite...
Preluare comenzi: 021 569.72.76
Specificații
ISBN-13: 9783836219976
ISBN-10: 3836219972
Pagini: 1402
Dimensiuni: 199 x 246 x 68 mm
Greutate: 2.46 kg
Ediția:6., aktualisierte und erweiterte Auflage.
Editura: Rheinwerk Verlag GmbH
Seria Rheinwerk Computing
ISBN-10: 3836219972
Pagini: 1402
Dimensiuni: 199 x 246 x 68 mm
Greutate: 2.46 kg
Ediția:6., aktualisierte und erweiterte Auflage.
Editura: Rheinwerk Verlag GmbH
Seria Rheinwerk Computing
Notă biografică
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.
Cuprins
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
Recenzii
Das Handbuch ist der perfekte Begleiter für den Berufsalltag. Das Buch von Andreas Kühnel bietet die ideale Grundlage für C#-Wissen.