Visual C# 2008

Das umfassende Handbuch

Andreas Kühnel (Autor)

Media-Kombination
1365 Seiten
2008 | 4. Auflage
Galileo Press
978-3-8362-1172-7 (ISBN)

Lese- und Medienproben

Visual C# 2008 - Andreas Kühnel
49,90 inkl. MwSt
zur Neuauflage
  • Titel erscheint in neuer Auflage
  • Artikel merken
Zu diesem Artikel existiert eine Nachauflage
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.

Andreas Kühnel studierte in den 80ern in Aachen Luft- und Raumfahrttechnik. Sein Interesse tendierte zur Programmierung und ab 1995 machte er sein Hobby zum Beruf, erwarb die Zertifizierungen "Microsoft Certified Solution Developer (MCSD)" und seitdem tätig als "Microsoft Certified Trainer (MCT)". Er unterrichtet Visual Basic, COM/COM, Datenbanktechnologien, .NET-Programmierung und C sharp. Der Autor lebt in Aachen.

Vorwort zur 4. Auflage 25

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

Erscheint lt. Verlag 26.6.2008
Reihe/Serie Galileo Computing
Sprache deutsch
Maße 240 x 190 mm
Gewicht 2362 g
Themenwelt Informatik Programmiersprachen / -werkzeuge C#
Schlagworte LINQ • .NET 3.5 • Programmierung • Visual C# 2008 • Visual C sharp 2008 • Visual Studio 2008 • Visual Studio 2008 Express Editions; Originalsoftware • XAML
ISBN-10 3-8362-1172-6 / 3836211726
ISBN-13 978-3-8362-1172-7 / 9783836211727
Zustand Neuware
Haben Sie eine Frage zum Produkt?