
Visual C# 2008
Description
Dies ist die 4., vollständig überarbeitete Neuauflage unseres erfolgreichen C#- Kompendiums. Das Buch führt auch die Programmieranfänger thematisch gut strukturiert mit passenden und einfachen Beispielen in die Programmierung von C# 2008 ein. Viele Themen, die sich den Programmiertechniken widmen, machen das Buch auch für Profis zu einem unentbehrlichen Leitfaden und Nachschlagewerk.
Das Buch geht selbstverständlich auch auf die Neuerungen von Visual Studio 2008 ein: So werden die Themen LINQ (Language Integrated Query, ganz neu in .NET 3.5) oder etwa XAML (eXtensible Application Markup Language) sehr ausführlich in eigenen neuen Kapiteln behandelt.
Die Programmierung der .NET-Klassenbibliothek ist 100%-ig objektorientiert. Deshalb wird im ersten Teil des Buches umfassend und intensiv in die Sprache C# und die objektorientierte Programmierung eingeführt. Klassen, Objekte, Vererbung, Polymorphie, generische Typen und Interfaces werden anhand einfacher Beispiele leicht verständlich erklärt. Im zweiten Teil widmet sich der Autor den grundlegendsten Klassen. Dabei werden auch Themen wie der Dateizugriff, das Exceptionhandling, Debugging, Multithreading und das Serialisieren von Daten erörtert und an vielen Beispielen der Einsatz exemplarisch gezeigt.
Der dritte Teil ist den Windowsanwendungen gewidmet. Der Leser erfährt alles Wissenswerte, um auch komplexe grafische Benutzeroberflächen mit der WinForms-Klassenbibliothek zu gestalten und zu programmieren. In diesem Teil werden zudem auch Themen wie das Entwickeln benutzerdefinierter Steuerelemente, die Grafikprogrammierung mit GDI+, die Implementierung von Drag&Drop und Windowsdienste behandelt. Eine Einführung in die Datenbankprogrammierung mit ADO.NET 2.0 rundet diesen Teil ab.
Der vierte Teil fokussiert die Konfiguration und das Verteilen von .NET-Anwendungen. Der Leser erfährt, wie mit Konfigurationsdateien auch nach der Kompilierung das Laufzeitverhalten gesteuert werden kann und Bibliotheken in den Global Assembly Cache (GAC) eingetragen werden. Zum Schluss wird ausgiebig auf die Bereitstellung einer benutzerfreundlichen Installationsroutine mit dem Microsoft Installer eingegangen.
Reviews / Votes
Gesamtnote: sehr gut!More details
Other editions
New editions


Previous edition

Content
1 ... Allgemeine Einführung in .NET ... 27
... 1.1 ... Warum .NET? ... 27
... 1.2 ... .NET unter die Lupe genommen ... 32
... 1.3 ... Assemblys ... 42
... 1.4 ... Die Entwicklungsumgebung ... 44
2 ... Grundlagen der Sprache C# ... 53
... 2.1 ... Konsolenanwendungen ... 53
... 2.2 ... Grundlagen der C#-Syntax ... 56
... 2.3 ... Variablen und Datentypen ... 62
... 2.4 ... Operatoren ... 90
... 2.5 ... Datenfelder (Arrays) ... 101
... 2.6 ... Kontrollstrukturen ... 112
... 2.7 ... Programmschleifen ... 123
3 ... Klassendesign und Vererbung ... 141
... 3.1 ... Einführung in die Objektorientierung ... 141
... 3.2 ... Die Klassendefinition ... 144
... 3.3 ... Referenz- und Wertetypen ... 147
... 3.4 ... Die Eigenschaften eines Objekts (Felder) ... 149
... 3.5 ... Arbeiten mit Objektreferenzen ... 151
... 3.6 ... Objektmethoden ... 157
... 3.7 ... Objekteigenschaften ... 179
... 3.8 ... Konstruktoren ... 189
... 3.9 ... Der Destruktor ... 195
... 3.10 ... Statische Klassenkomponenten ... 201
... 3.11 ... Die Vererbung ... 213
... 3.12 ... Abstrakte Klassen und Methoden ... 236
... 3.13 ... Polymorphismus ... 238
... 3.14 ... Hat-eine-Beziehungen (Aggregation) ... 249
... 3.15 ... Namensräume (Namespaces) ... 258
4 ... Weitere .NET-Datentypen ... 265
... 4.1 ... Interfaces (Schnittstellen) ... 265
... 4.2 ... Strukturen eine Sonderform der Klassen ... 280
... 4.3 ... Enumerationen (Aufzählungen) ... 286
... 4.4 ... Delegates ... 289
... 4.5 ... Ereignisse eines Objekts ... 299
5 ... Weitere Möglichkeiten von C# ... 307
... 5.1 ... Operatorüberladung ... 307
... 5.2 ... Indexer ... 317
... 5.3 ... Collections (Auflistungen) ... 325
... 5.4 ... Generics Generische Datentypen ... 346
... 5.5 ... Eigene Auflistungen mit »yield« durchlaufen ... 363
... 5.6 ... Daten durch »null« beschreiben ... 366
... 5.7 ... Attribute ... 367
... 5.8 ... Unsicherer (unsafe) Programmcode Zeigertechnik in C# ... 376
6 ... Projektmanagement und Visual Studio 2008 ... 381
... 6.1 ... Der Projekttyp »Klassenbibliothek« ... 381
... 6.2 ... Assemblys ... 386
... 6.3 ... Konfigurationsdateien ... 402
... 6.4 ... Versionsumleitung in einer Konfigurationsdatei ... 416
... 6.5 ... Die XML-Dokumentation ... 422
... 6.6 ... Der Klassendesigner (Class Designer) ... 426
... 6.7 ... Refactoring ... 432
... 6.8 ... Code Snippets (Codeausschnitte) ... 440
7 ... Fehlerbehandlung und Debugging ... 445
... 7.1 ... Die Behandlung von Laufzeitfehlern ... 445
... 7.2 ... Debuggen mit Programmcode ... 466
... 7.3 ... Debuggen mit dem Visual Studio 2008 ... 480
... 7.4 ... Das Objekttestcenter (Object Test Bench OTB) ... 486
8 ... LINQ ... 489
... 8.1 ... Was ist LINQ? ... 489
... 8.2 ... Neue Sprachfeatures in C# 2008 ... 490
... 8.3 ... LINQ to Objects ... 500
9 ... Multithreading und asynchrone Methodenaufrufe ... 529
... 9.1 ... Multithreading ... 529
... 9.2 ... Threadzustände und Prioritäten ... 530
... 9.3 ... Einsatz von mehreren Threads ... 532
... 9.4 ... Die Entwicklung einer Multithreading-Anwendung ... 532
... 9.5 ... Die Synchronisation von Threads ... 552
... 9.6 ... Asynchrone Methodenaufrufe ... 565
10 ... Arbeiten mit Dateien und Streams ... 581
... 10.1 ... Einführung ... 581
... 10.2 ... Namespaces der Ein- bzw. Ausgabe ... 582
... 10.3 ... Laufwerke, Verzeichnisse und Dateien ... 583
... 10.4 ... Die »Stream«-Klassen ... 602
... 10.5 ... Die Klassen »TextReader« und »TextWriter« ... 612
... 10.6 ... Die Klassen »BinaryReader« und »BinaryWriter« ... 620
11 ... Serialisierung ... 629
... 11.1 ... Einführung in die Serialisierung ... 629
... 11.2 ... Serialisierung mit »BinaryFormatter« ... 630
... 11.3 ... Serialisierung mit »SoapFormatter« ... 637
... 11.4 ... Serialisierung mit »XmlSerializer« ... 637
12 ... Einige wichtige .NET-Klassen ... 643
... 12.1 ... Die Klasse »Object« ... 643
... 12.2 ... Die Klasse »String« ... 651
... 12.3 ... Die Klasse »StringBuilder« ... 665
... 12.4 ... Der Typ »DateTime« ... 670
... 12.5 ... Die Klasse »Array« ... 680
... 12.6 ... Ausgabeformatierung ... 685
13 ... Grundlagen zum Erstellen einer Windows-Anwendung ... 693
... 13.1 ... Die Entwicklungsumgebung ... 693
... 13.2 ... Eine erste Windows-Anwendung ... 694
... 13.3 ... Das Codegerüst einer Windows-Anwendung ... 700
... 13.4 ... Ereignisse grafischer Windows-Komponenten ... 704
... 13.5 ... Die Basisklassen einer Form ... 709
... 13.6 ... Die Eigenschaften einer Form ... 711
... 13.7 ... Ereignisse einer Form ... 723
... 13.8 ... Anwendungen mit mehreren Fenstern ... 725
... 13.9 ... Modale Dialogfenster ... 733
... 13.10 ... Meldungsfenster mit »MessageBox« ... 736
... 13.11 ... Die Klasse »Application« ... 740
14 ... Die wichtigsten Steuerelemente ... 745
... 14.1 ... Gemeinsame Eigenschaften, Methoden und Ereignisse ... 745
... 14.2 ... Schaltflächen der Klasse »Button« ... 750
... 14.3 ... Auswahlkästchen mit der Klasse »CheckBox« ... 752
... 14.4 ... Die Klasse »RadioButton« (Optionsschaltflächen) ... 756
... 14.5 ... Die »GroupBox« als übergeordneter Container ... 758
... 14.6 ... Texteingabefelder mit der Klasse »TextBox« ... 758
... 14.7 ... Beschriftungen mit dem Steuerelement »Label« ... 767
... 14.8 ... Die Anzeige eines Quickinfo-Texts ... 768
... 14.9 ... Das »ListBox«-Steuerelement ... 770
... 14.10 ... Das Steuerelement »CheckedListBox« ... 785
... 14.11 ... Die »ComboBox« (Kombinationslistenfeld) ... 786
... 14.12 ... Standarddialoge ... 788
... 14.13 ... Menü-, Symbol- und Statusleiste sowie Kontextmenüs ... 804
... 14.14 ... Bildlaufleisten mit »HScrollBar« und »VScrollBar« ... 828
... 14.15 ... Das »ProgressBar«-Steuerelement ... 831
... 14.16 ... Das »Timer«-Steuerelement ... 833
... 14.17 ... Das »Panel«-Steuerelement ... 835
... 14.18 ... Registerkarten mit »TabControl« ... 835
... 14.19 ... Das »TreeView«-Steuerelement ... 838
... 14.20 ... Die beiden »Splitter«-Steuerelemente ... 848
... 14.21 ... Das »ListView«-Steuerelement ... 850
15 ... Tastatur- und Mausereignisse ... 867
... 15.1 ... Die Tastaturschnittstelle ... 867
... 15.2 ... Die Mausschnittstelle ... 879
16 ... MDI-Anwendungen ... 887
... 16.1 ... Einführung ... 887
... 16.2 ... Das MDI-Hauptfenster ... 888
... 16.3 ... Die Subfenster ... 889
... 16.4 ... Zugriff auf die Subfenster ... 890
... 16.5 ... Das Menü in einer MDI-Anwendung ... 892
... 16.6 ... Symbol- und Statusleiste des Subfensters ... 895
... 16.7 ... Die Liste der geöffneten untergeordneten Fenster ... 895
... 16.8 ... Beispiel einer MDI-Anwendung ... 896
17 ... Grafische Programmierung mit GDI+ ... 899
... 17.1 ... Die Namespaces der GDI+-Schnittstelle ... 899
... 17.2 ... Die Klasse »Graphics« ... 900
... 17.3 ... Elementare Klassen für grafische Operationen ... 913
... 17.4 ... Die Schriftdarstellung ... 915
... 17.5 ... Bilddateien ... 919
18 ... Das Drucken (Printing) ... 933
... 18.1 ... Ein einführender Überblick ... 933
... 18.2 ... Einen Druckauftrag erteilen ... 934
... 18.3 ... Seiteneinstellungen mit »PageSettings« ... 942
... 18.4 ... Der Drucker als »PrinterSettings«-Objekt ... 943
... 18.5 ... Die Steuerelemente zum Drucken ... 945
... 18.6 ... Drucken von Grafiken ... 953
... 18.7 ... Ausdruck von mehrseitigem Text ... 957
19 ... Steuerelemente entwickeln ... 963
... 19.1 ... Einführung ... 963
... 19.2 ... Steuerelemente mit »UserControl« ... 965
... 19.3 ... Ableiten eines vorhandenen Steuerelements ... 979
... 19.4 ... Ein eigenes Steuerelement entwerfen ... 981
20 ... Programmiertechniken ... 985
... 20.1 ... Drag&Drop-Operationen ... 985
... 20.2 ... API-Aufrufe mit PInvoke ... 995
... 20.3 ... Entwickeln vom Windows-Dienstanwendungen ... 1001
... 20.4 ... Die Zwischenablage ... 1019
... 20.5 ... Lokalisierung von Programmen ... 1031
21 ... WPF die Grundlagen ... 1037
... 21.1 ... Die Merkmale einer WPF-Anwendung ... 1037
... 21.2 ... Anwendungstypen ... 1038
... 21.3 ... Eine WPF-Anwendung und deren Dateien ... 1039
... 21.4 ... XAML (eXtended Markup Language) ... 1042
... 21.5 ... Markup-Erweiterungen und XAML-Schlüsselwörter ... 1046
22 ... Die Layoutcontainer ... 1049
... 22.1 ... Übersicht über die Layoutcontainer ... 1049
... 22.2 ... Das »Canvas« ... 1050
... 22.3 ... Das »StackPanel« ... 1051
... 22.4 ... Das »WrapPanel« ... 1053
... 22.5 ... Das »DockPanel« ... 1055
... 22.6 ... Das »UniformGrid« ... 1057
... 22.7 ... Der Container »Grid« ... 1058
... 22.8 ... Steuerelemente positionieren ... 1063
... 22.9 ... Verschachtelte Layout-Container ... 1065
23 ... Die WPF-Controls ... 1069
... 23.1 ... Ereignisse programmieren ... 1069
... 23.2 ... Die Basisklasse »Control« ... 1075
... 23.3 ... Die Familie der Buttons ... 1076
... 23.4 ... Textboxen und Artverwandte ... 1078
... 23.5 ... Das Steuerelement »Label« ... 1080
... 23.6 ... »CheckBox« und »RadioButton« ... 1080
... 23.7 ... »ListBox« und »ComboBox« ... 1081
... 23.8 ... Die Menüleiste ... 1084
... 23.9 ... Das Kontextmenü ... 1087
... 23.10 ... Symbolleisten ... 1088
... 23.11 ... Die Statusleiste ... 1090
... 23.12 ... Die »Image«-Komponente ... 1091
24 ... Konzepte von WPF ... 1095
... 24.1 ... Ressourcen ... 1097
... 24.2 ... Stile ... 1102
... 24.3 ... Trigger ... 1106
... 24.4 ... Commands ... 1111
... 24.5 ... Datenbindung ... 1116
... 24.6 ... Bindungsmodi ... 1118
25 ... ADO.NET die Verbindung zu einer Datenbank herstellen ... 1129
... 25.1 ... Die ADO.NET-Provider ... 1129
... 25.2 ... Verbindungen mit dem Sql-Datenprovider ... 1130
... 25.3 ... Das Verbindungspooling ... 1140
... 25.4 ... Die Ereignisse eines »Connection«-Objekts ... 1143
... 25.5 ... Verbindungszeichenfolgen aus einer Konfigurationsdatei abrufen ... 1145
... 25.6 ... Die Klasse »SqlConnection« im Überblick ... 1147
... 25.7 ... Verbindungen mit dem OleDb-Datenprovider ... 1149
26 ... Die Datenbankabfrage ... 1153
... 26.1 ... Das »SqlCommand«-Objekt ... 1153
... 26.2 ... Das »SqlDataReader«-Objekt ... 1159
... 26.3 ... Parametrisierte Abfragen ... 1167
... 26.4 ... Asynchrone Abfragen ... 1171
... 26.5 ... Gespeicherte Prozeduren (Stored Procedures) ... 1174
27 ... Der SqlDataAdapter ... 1183
... 27.1 ... Die Konstruktoren der Klasse »DataAdapter« ... 1185
... 27.2 ... Die Eigenschaft »SelectCommand« ... 1185
... 27.3 ... Den lokalen Datenspeicher füllen (die Fill-Methode) ... 1186
... 27.4 ... Tabellenzuordnung mit »TableMappings« ... 1189
... 27.5 ... Das Ereignis »FillError« des »SqlDataAdapters« ... 1194
28 ... Daten im lokalen Speicher das DataSet ... 1197
... 28.1 ... Verwenden des »DataSet«-Objekts ... 1198
... 28.2 ... Dem »DataSet« Schemainformationen übergeben ... 1202
... 28.3 ... Änderungen in einer »DataTable« vornehmen ... 1211
... 28.4 ... Was bei der Änderung einer Datenzeile passiert ... 1217
... 28.5 ... Mit mehreren Tabellen arbeiten ... 1222
... 28.6 ... Suchen und filtern im »DataSet« ... 1231
... 28.7 ... Objekte vom Typ »DataView« ... 1236
29 ... Eine Datenbank aktualisieren ... 1243
... 29.1 ... Aktualisieren mit dem »CommandBuilder«-Objekt ... 1246
... 29.2 ... Manuell gesteuerte Aktualisierungen ... 1251
... 29.3 ... Den Benutzer über die fehlgeschlagenen Aktualisierungen informieren ... 1260
... 29.4 ... Die konfliktverursachenden Datenzeilen bei der Datenbank abfragen ... 1263
... 29.5 ... Eine geänderte »DataRow« im »DataSet« aktualisieren ... 1268
... 29.6 ... Hierarchische Änderungen an die Datenbank übermitteln ... 1274
30 ... Stark typisierte DataSets ... 1279
... 30.1 ... Ein stark typisiertes DataSet erzeugen ... 1279
... 30.2 ... Die Anatomie eines typisierten DataSets ... 1283
... 30.3 ... Typisierte DataSets manuell im Designer erzeugen ... 1289
... 30.4 ... Weitergehende Betrachtungen ... 1291
... 30.5 ... Der »TableAdapter« ... 1291
... 30.6 ... TableAdapter im Code verwenden ... 1297
... 30.7 ... Fazit: Typisierte oder nicht typisierte DataSets? ... 1302
31 ... Weitergabe von Anwendungen ... 1305
... 31.1 ... Weitergabe mit MS-Installer ... 1305
... 31.2 ... »ClickOnce«-Verteilung ... 1337
... Über den Autor ... 1345