C# 2.0 Schnellübersicht von Olaf Lüder
Die praktische Referenz zu C# 2.0
Inhaltsverzeichnis (C# Schnellübersicht)
- 1 Allgemeine Sprachkonzepte
- 1.1 Einführung und Geschichte
- 1.1.1 C#
- 1.1.2 Das .NET Framework
- 1.2 Installation und Werkzeuge
- 1.2.1 .NET Framework
- 1.2.2 Visual Studio 2005
- 1.3 Programmaufbau
- 1.3.1 Erste Schritte: Hallo Welt!
- 1.3.2 Bezeichner
- 1.3.3 Kommentare
- 1.4 Neues in C# 2.0 und .NET 2.0
- 2 Daten
- 2.1 Überblick
- 2.1.1 Grunddatentypen
- 2.1.2 Werte- und Verweistypen
- 2.2 Wertetypen
- 2.2.1 Ganzzahlige Typen (int, long)
- 2.2.2 Gleitkommatypen (float, double)
- 2.2.3 Dezimaltyp (decimal)
- 2.2.4 Wahrheitswerte (bool)
- 2.2.5 Zeichentyp (char)
- 2.2.6 Aufzählungstyp (enum)
- 2.2.7 Strukturtyp (struct)
- 2.2.8 Nullbare Typen
- 2.3 Verweistypen
- 2.3.1 Zeichenfolgen (String)
- 2.3.2 Arrays
- 2.4 Literale, Konstanten und Variablen
- 2.4.1 Literale
- 2.4.2 Konstanten
- 2.4.3 Variablen
- 2.5 Typkonvertierungen
- 2.5.1 Implizite Konvertierungen
- 2.5.2 Explizite Konvertierungen
- 2.5.3 Umwandlungen von und in Zeichenfolgen
- 2.5.4 Boxing und Unboxing
- 3 Ausdrücke und Anweisungen
- 3.1 Ausdrücke
- 3.1.1 Operatoren und Operanden
- 3.1.2 Aufbau von Ausdrücken
- 3.1.3 Auswertung von Ausdrücken
- 3.2 Operatoren
- 3.2.1 Arithmetische Operatoren
- 3.2.2 Stringverkettung
- 3.2.3 Bitweise Operatoren
- 3.2.4 Logische Operatoren
- 3.2.5 Vergleichsoperatoren
- 3.2.6 Bedingungsoperator
- 3.2.7 Nullverschmelzungsoperator
- 3.2.8 Zuweisungsoperatoren
- 3.2.9 Typoperatoren (typeof, sizeof, as, is)
- 3.3 Anweisungen
- 3.3.1 Leere Anweisung und Blöcke
- 3.3.2 Ausdrucksanweisungen
- 3.3.3 Auswahlanweisungen
- 3.3.4 Wiederholungsanweisungen
- 3.3.5 Sprunganweisungen
- 3.3.6 Fehlerbehandlung
- 3.3.7 Sonstige Anweisungen
- 4 Klassen und Objekte
- 4.1 Klassen
- 4.1.1 Klassendefinition
- 4.1.2 Verschachtelte Typen
- 4.1.3 Partielle Typen
- 4.1.4 Statische Klassen
- 4.1.5 Memberzugriff
- 4.1.6 Modifizierer
- 4.2 Felder und Konstanten
- 4.2.1 Instanzfelder
- 4.2.2 Klassenfelder
- 4.2.3 Konstanten
- 4.2.4 Schreibgeschützte Felder
- 4.3 Eigenschaften und Indexer
- 4.3.1 Eigenschaften
- 4.3.2 Indexer
- 4.4 Methoden
- 4.4.1 Parameter
- 4.4.2 Methodensignatur
- 4.4.3 Überladen von Methoden
- 4.4.4 Instanzmethoden
- 4.4.5 Klassenmethoden
- 4.4.6 Rekursive Methoden
- 4.5 Operatorenüberladung
- 4.5.1 Überladen von Vergleichsoperatoren
- 4.5.2 Überladen arithmetischer Operatoren
- 4.5.3 Konvertierungsoperatoren überladen
- 4.6 Konstruktoren und Destruktoren
- 4.6.1 Konstruktoren
- 4.6.2 Private Konstruktoren
- 4.6.3 Statische Konstruktoren
- 4.6.4 Destruktoren
- 4.6.5 Lebensdauer
- 4.7 Delegaten und Ereignisse
- 4.7.1 Delegaten
- 4.7.2 Anonyme Methoden
- 4.7.3 Ereignisse
- 4.8 Strukturen (structs)
- 4.9 Vererbung und Polymorphie
- 4.9.1 Vererbung
- 4.9.2 Polymorphie
- 4.9.3 Object – Basis aller Objekte
- 4.9.4 Typbestimmung und -umwandlung
- 4.9.5 Verdecken von Elementen
- 4.9.6 Überschreiben von Methoden
- 4.9.7 Dynamische Bindung
- 4.9.8 Dynamische Bindung, Beispiel
- 4.10 Schnittstellen und abstrakte Klassen
- 4.10.1 Schnittstellen
- 4.10.2 Abstrakte Klassen
- 4.10.3 Schnittstelle oder abstrakte Klasse
- 4.10.4 Versiegelte Klassen
- 5 Weiterführende OOP-Konzepte
- 5.1 Ausnahmebehandlung
- 5.1.1 Überblick
- 5.1.2 Ablauf der Ausnahmebehandlung
- 5.1.3 Die Exception-Klasse
- 5.1.4 Ausnahmen auslösen
- 5.1.5 Ausnahmen behandeln (try ... catch)
- 5.1.6 Ausführung sicherstellen (finally)
- 5.1.7 Benutzerdefinierte Ausnahmen
- 5.2 Generika (Generics)
- 5.2.1 Motivation
- 5.2.2 Generische Klassen
- 5.2.3 Generische Methoden
- 5.2.4 Generische Delegaten
- 5.3 Iteratoren
- 5.3.1 Verwendung von Iteratoren
- 5.3.2 Rekursive Iterationen
- 5.3.3 Nicht nur zum Durchlaufen
- 5.4 Namespaces
- 5.4.1 Deklaration
- 5.4.2 Verschachtelte Namespaces
- 5.4.3 Verwendung von Namespaces
- 5.5 Assemblies
- 5.5.1 Aufbau von Assemblies
- 5.5.2 Multi File Assemblies
- 5.5.3 Private Assemblies
- 5.5.4 Freigegebene Assemblies
- 5.5.5 Befreundete Assemblies
- 5.6 Attribute
- 5.6.1 Überblick
- 5.6.2 Vordefinierte Attribute
- 5.6.3 Benutzerdefinierte Attribute
- 5.7 Reflexion
- 5.7.1 Überblick
- 5.7.2 Laden von Assemblies
- 5.7.3 Untersuchen von Assemblies
- 5.7.4 Typen dynamisch erzeugen
- 5.7.5 Syntaxübersicht
- 6 Framework-Klassen
- 6.1 Die String-Klasse
- 6.1.1 Deklaration und Initialisierung
- 6.1.2 Länge von Zeichenfolgen
- 6.1.3 Teilfolgen abfragen, ersetzen und entfernen
- 6.1.4 Zeichenfolgen verketten
- 6.1.5 Zeichenfolgen vergleichen, durchsuchen und normieren
- 6.1.6 Vergleichsmodi und Sortierreihenfolgen
- 6.1.7 Zeichenfolgen formatieren
- 6.1.8 Kodierung von Zeichenfolgen
- 6.1.9 Sichere Zeichenfolgen: SecureString
- 6.1.10 Syntaxübersicht
- 6.2 Stringbuilder
- 6.2.1 Überblick
- 6.2.2 Syntaxübersicht
- 6.3 Reguläre Ausdrücke
- 6.3.1 Arbeiten mit regulären Ausdrücken
- 6.3.2 Suchen
- 6.3.3 Ersetzen
- 6.3.4 Aufteilen
- 6.3.5 Syntaxübersicht
- 6.4 Datums- und Zeitfunktionen
- 6.4.1 Die DateTime-Struktur
- 6.4.2 Die TimeSpan-Struktur
- 6.4.3 Datumsarithmetik
- 6.4.4 Die DateTimeFormatInfo-Klasse
- 6.5 Mathematische Funktionen
- 6.5.1 Die Klasse System.Math
- 6.5.2 Zufallszahlen mit System.Random
- 6.6 Auflistungen (Collections)
- 6.6.1 Schnittstellen für Auflistungen
- 6.6.2 Generische Auflistungen
- 6.6.3 Sortieren und Suchen
- 6.6.4 ArrayList und List
- 6.6.5 Hashtable und Dictionary
- 6.6.6 SortedList
- 6.6.7 Stack und Queue
- 6.6.8 Syntaxübersicht
- 7 GUI-Anwendungen mit WinForms
- 7.1 Grundlagen
- 7.1.1 „Hallo Welt!“ – die grafische Variante
- 7.1.2 „Hallo Welt!“ in Visual Studio
- 7.1.3 Grundbegriffe
- 7.2 Steuerelemente, Grundlagen
- 7.2.1 Control – gemeinsame Eigenschaften
- 7.2.2 Control – gemeinsame Methoden
- 7.2.3 Control – gemeinsame Ereignisse
- 7.2.4 Fokus, Zugriffstasten und Tabulatorreihenfolge
- 7.3 Standardsteuerelemente
- 7.3.1 Beschriftungen und statische Texte
- 7.3.2 Schaltflächen
- 7.3.3 Textfelder
- 7.3.4 Datums- und Zeitauswahl
- 7.3.5 Listenfelder
- 7.3.6 Regler, Scroll- und Fortschrittsbalken
- 7.3.7 Container
- 7.3.8 Sonstige Steuerelemente
- 7.3.9 Nicht sichtbare Steuerelemente
- 7.3.10 Benutzerdefinierte Steuerelemente
- 7.4 Menüs, Symbol- und Statusleisten
- 7.4.1 Objekthierarchie
- 7.4.2 Menüs
- 7.4.3 Symbolleisten
- 7.4.4 Statusleisten
- 7.4.5 ToolStripPanel und ToolStripContainer
- 7.4.6 ToolStripManager
- 7.5 Formulare
- 7.5.1 Formular-Member
- 7.5.2 Dialogfelder
- 7.5.3 Standarddialoge
- 7.5.4 Meldungsfelder
- 7.6 Die Application-Klasse
- 7.6.1 Anwendungen starten und beenden
- 7.6.2 Designs unter Windows XP
- 7.6.3 Startbildschirm (Splash Screen)
- 8 Grafikprogrammierung (GDI+)
- 8.1 Einführung
- 8.1.1 Überblick
- 8.1.2 Das Koordinatensystem
- 8.1.3 Basisobjekte
- 8.1.4 Graphics – die Zeichenoberfläche
- 8.2 Grundlegende Grafikfunktionen
- 8.2.1 Zeichen- und Füllmethoden
- 8.2.2 Regionen und Clipping
- 8.2.3 Neuzeichnen des Fensterinhalts
- 8.2.4 Farben
- 8.2.5 Stifte als Zeichenwerkzeuge
- 8.2.6 Pinsel als Füllwerkzeuge
- 8.2.7 Texte und Schriftarten
- 8.2.8 Bilder und Metadateien
- 8.3 Fortgeschrittene Techniken
- 8.3.1 Kantenglättung (Antialiasing)
- 8.3.2 Scrolling
- 8.3.3 Tastatur- und Mausereignisse
- 8.3.4 Transformationen
- 8.3.5 Low-Level-Operationen
- 9 Ein- und Ausgabe
- 9.1 Dateisystem
- 9.1.1 Dateien und Verzeichnisse
- 9.1.2 Sicherheitsdeskriptoren
- 9.1.3 Dateisystem überwachen
- 9.1.4 Syntaxübersicht
- 9.2 Datenströme (Streams)
- 9.2.1 Stream – die Basisklasse
- 9.2.2 FileStream
- 9.2.3 MemoryStream
- 9.2.4 BufferedStream
- 9.2.5 GZipStream
- 9.2.6 CryptoStream
- 9.2.7 Arbeiten mit Binärdaten
- 9.2.8 Arbeiten mit Textdaten
- 9.2.9 Syntaxübersicht
- 9.3 Serialisierung
- 9.3.1 BinaryFormatter und SoapFormatter
- 9.3.2 XmlSerializer
- 9.4 Netzwerkkommunikation
- 9.4.1 Überblick
- 9.4.2 Netzwerkstatus und -informationen
- 9.4.3 Die Klasse TcpClient
- 9.4.4 E-Mails versenden
- 9.4.5 HTTP- und FTP-Zugriffe
- 9.4.6 Syntaxübersicht
- 10 Prozesse, Threads und Timer
- 10.1 Prozesse
- 10.1.1 Informationen über Prozesse
- 10.1.2 Informationen über Dienste
- 10.1.3 Informationen über Threads
- 10.1.4 Prozesse ausführen
- 10.1.5 Syntaxübersicht
- 10.2 Threads
- 10.2.1 Überblick
- 10.2.2 Die Thread-Klasse
- 10.2.3 Multithreading mit dem Thread-Pool
- 10.2.4 Die BackgroundWorker-Komponente
- 10.2.5 Threads und Windows Forms
- 10.2.6 Threads und Ausnahmen
- 10.2.7 Syntaxübersicht
- 10.3 Synchronisierung
- 10.3.1 Wettlaufbedingung
- 10.3.2 MethodImplOptions.Synchronized
- 10.3.3 Die Klasse Interlocked
- 10.3.4 Monitore und die lock-Anweisung
- 10.3.5 Lese-/Schreibsperren
- 10.3.6 Ereignisse, Semaphore und Mutexe
- 10.3.7 Verklemmungen (Deadlocks)
- 10.3.8 Syntaxübersicht
- 10.4 Timer
- 10.4.1 System.Windows.Forms.Timer
- 10.4.2 System.Timers.Timer
- 10.4.3 System.Threading.Timer
- 10.4.4 Syntaxübersicht
- A Anhang
- A.1 Schlüsselwörter
- A.2 Benennungsrichtlinien
- A.3 Dokumentationskommentare
C# 2.0 Schnellübersicht
Die praktische Referenz
Olaf Lüder
ISBN 3-8272-4011-5
617 Seiten - EUR 19,95 [D]