O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Kompaktkurs C# 5.0, 4th Edition

Book Description

Das Buch beschreibt in kompakter Form den gesamten Sprachumfang von C#, einschließlich der neuen Features von C# 5.0. Es richtet sich an Leser, die bereits Erfahrung mit einer anderen Programmiersprache wie Java oder C++ haben und sich rasch in C# einarbeiten wollen, um damit produktiv zu werden.

Neben der Sprache C# behandelt das Buch auch diverse Anwendungen und Fallstudien im .NET-Framework.

Themen:

  • Datenstrukturen und Anweisungen von C# 5.0
  • Klassen, Structs, Interfaces und Vererbung
  • Properties, Indexer und Iteratoren
  • Delegates und Events
  • Exception Handling
  • Threads und Synchronisation
  • Generische Bausteine
  • Attribute und Reflection
  • Assemblies als Softwarekomponenten
  • Lambda-Ausdrücke
  • Erweiterungsmethoden
  • Anonyme Typen
  • Query-Ausdrücke in LINQ
  • Asynchrone Methoden und Parallelität
  • Auszug aus der .NET-Klassenbibliothek
  • Fallstudien (ASP.NET, Web-Services, ...)
  • Interoperabilität mit COM
  • Grammatik von C# 5.0


Zahlreiche Beispiele sowie weit über 100 Übungsaufgaben mit Musterlösungen machen das Buch sowohl für den Einsatz im Unterricht als auch für das Selbststudium geeignet.
Die Musterlösungen sowie begleitende Materialien zu diesem Buch findet man unter hdotnet.jku.at

Table of Contents

  1. Cover
  2. Titel
  3. Impressum
  4. Inhalt
  5. 1 C# und das .NET-Framework
    1. 1.1 Ähnlichkeiten zwischen C# und Java
    2. 1.2 Unterschiede zwischen C# und Java
    3. 1.3 Das .NET-Framework
    4. 1.4 Übungsaufgaben
  6. 2 Erste Schritte
    1. 2.1 Hello World
    2. 2.2 Gliederung von Programmen
    3. 2.3 Symbole
    4. 2.4 Übungsaufgaben
  7. 3 Typen
    1. 3.1 Einfache Typen
    2. 3.2 Enumerationen
    3. 3.3 Arrays
    4. 3.4 Strings
    5. 3.5 Structs
    6. 3.6 Klassen
    7. 3.7 object
    8. 3.8 Boxing und Unboxing
    9. 3.9 Übungsaufgaben
  8. 4 Ausdrücke
    1. 4.1 Arithmetische Ausdrücke
    2. 4.2 Vergleichsausdrücke
    3. 4.3 Boolesche Ausdrücke
    4. 4.4 Bit-Ausdrücke
    5. 4.5 Shift-Ausdrücke
    6. 4.6 Überlaufprüfung
    7. 4.7 typeof
    8. 4.8 sizeof
    9. 4.9 Übungsaufgaben
  9. 5 Deklarationen
    1. 5.1 Deklarationen in Namensräumen
    2. 5.2 Deklarationen in Klassen, Structs und Interfaces
    3. 5.3 Deklarationen in Enumerationstypen
    4. 5.4 Deklarationen in Blöcken
    5. 5.5 Übungsaufgaben
  10. 6 Anweisungen
    1. 6.1 Leeranweisung
    2. 6.2 Zuweisung
    3. 6.3 Methodenaufruf
    4. 6.4 if-Anweisung
    5. 6.5 switch-Anweisung
    6. 6.6 while-Anweisung
    7. 6.7 do-while-Anweisung
    8. 6.8 for-Anweisung
    9. 6.9 foreach-Anweisung
    10. 6.10 break- und continue-Anweisungen
    11. 6.11 goto-Anweisung
    12. 6.12 return-Anweisung
    13. 6.13 Übungsaufgaben
  11. 7 Ein-/Ausgabe
    1. 7.1 Ausgabe auf den Bildschirm
    2. 7.2 Formatierte Ausgabe
    3. 7.3 Ausgabe auf eine Datei
    4. 7.4 Eingabe von der Tastatur
    5. 7.5 Eingabe von einer Datei
    6. 7.6 Lesen der Kommandozeilenparameter
    7. 7.7 Übungsaufgaben
  12. 8 Klassen und Structs
    1. 8.1 Sichtbarkeitsattribute
    2. 8.2 Felder
    3. 8.3 Methoden
    4. 8.4 Konstruktoren
    5. 8.5 Destruktoren
    6. 8.6 Properties
    7. 8.7 Indexer
    8. 8.8 Überladene Operatoren
    9. 8.9 Geschachtelte Typen
    10. 8.10 Partielle Typen
    11. 8.11 Partielle Methoden
    12. 8.12 Statische Klassen
    13. 8.13 Unterschiede zu Java
    14. 8.14 Übungsaufgaben
  13. 9 Vererbung
    1. 9.1 Deklaration von Unterklassen
    2. 9.2 Kompatibilität zwischen Klassen
    3. 9.3 Überschreiben und Verdecken von Elementen
    4. 9.4 Dynamische Bindung
    5. 9.5 Konstruktoren in Ober- und Unterklasse
    6. 9.6 Abstrakte Klassen
    7. 9.7 Versiegelte Klassen
    8. 9.8 Die Klasse Object
    9. 9.9 Übungsaufgaben
  14. 10 Interfaces
    1. 10.1 Deklaration und Verwendung von Interfaces
    2. 10.2 Operationen auf Interfaces
    3. 10.3 Erweiterung von Interfaces
    4. 10.4 Namenskonflikte
    5. 10.5 Interface IDisposable
    6. 10.6 Übungsaufgaben
  15. 11 Delegates und Events
    1. 11.1 Einfache Delegates
    2. 11.2 Multicast-Delegates
    3. 11.3 Erzeugen von Delegate-Werten
    4. 11.4 Ereignisse (Events)
    5. 11.5 Anonyme Methoden
    6. 11.6 Übungsaufgaben
  16. 12 Ausnahmen
    1. 12.1 try-Anweisung
    2. 12.2 Ausnahmeklassen
    3. 12.3 Auslösen von Ausnahmen
    4. 12.4 Ausnahmen in aufgerufenen Methoden
    5. 12.5 Ausnahmen in Multicast-Delegates
    6. 12.6 Übungsaufgaben
  17. 13 Namensräume und Assemblies
    1. 13.1 Namensräume
    2. 13.2 Assemblies
      1. 13.2.1 Assemblies und Module
      2. 13.2.2 Versionierung von Assemblies
      3. 13.2.3 Assemblies versus Namensräume
    3. 13.3 Übungsaufgaben
  18. 14 Generische Bausteine
    1. 14.1 Generische Typen
    2. 14.2 Constraints
    3. 14.3 Vererbung bei generischen Typen
    4. 14.4 Generische Methoden
    5. 14.5 Generische Delegates
    6. 14.6 Nullwerte
    7. 14.7 Ko- und Kontravarianz bei generischen Typen
    8. 14.8 Was geschieht hinter den Kulissen?
    9. 14.9 Unterschiede zu Java
    10. 14.10 Übungsaufgaben
  19. 15 Threads
    1. 15.1 Die Klasse Thread
    2. 15.2 Zustände eines Threads
    3. 15.3 Abbrechen eines Threads
    4. 15.4 Thread-Synchronisation
    5. 15.5 Übungsaufgaben
  20. 16 Iteratoren
    1. 16.1 Allgemeine Iteratoren
    2. 16.2 Spezifische Iteratoren
    3. 16.3 Übungsaufgaben
  21. 17 Attribute
    1. 17.1 Schreibweise von Attributen
    2. 17.2 Parameter von Attributen
    3. 17.3 Attribute für spezifische Programmelemente
    4. 17.4 Attribut Serializable
    5. 17.5 Attribut Conditional
    6. 17.6 Attribut DllImport
    7. 17.7 Deklaration eigener Attribute
    8. 17.8 Übungsaufgaben
  22. 18 Dokumentationskommentare
    1. 18.1 XML-Elemente
    2. 18.2 Erzeugte XML-Datei
    3. 18.3 Übungsaufgaben
  23. 19 Auszug aus der .NET-Klassenbibliothek
    1. 19.1 Hilfsklassen
    2. 19.2 Collections
    3. 19.3 Ein-/Ausgabe
    4. 19.4 Reflection
    5. 19.5 Übungsaufgaben
  24. 20 LINQ
    1. 20.1 Motivation
    2. 20.2 Lambda-Ausdrücke
    3. 20.3 Erweiterungsmethoden
    4. 20.4 Objektinitialisierer
    5. 20.5 Anonyme Typen
    6. 20.6 Query-Ausdrücke
    7. 20.7 LINQ und XML
    8. 20.8 Übungsaufgaben
  25. 21 Asynchrone Methoden und Parallelität
    1. 21.1 Asynchronität
    2. 21.2 Tasks
    3. 21.3 Asynchrone Methoden
    4. 21.4 Explizite Parallelität
    5. 21.5 Übungsaufgaben
  26. 22 Interoperabilität mit COM
    1. 22.1 COM-Objekte von .NET aus ansprechen
    2. 22.2 .NET-Assemblies von COM aus ansprechen
    3. 22.3 Übungsaufgaben
  27. 23 Dynamisch getypte Variablen
    1. 23.1 Typ dynamic
    2. 23.2 Operationen auf dynamic-Variablen
  28. 24 Fallstudien
    1. 24.1 Anwendungen mit grafischer Benutzeroberfläche
    2. 24.2 Ein Web-Service für Börsenkurse
    3. 24.3 Dynamische Webseiten mit ASP.NET
    4. 24.4 Übungsaufgaben
  29. A Anhang
    1. A.1 Compileroptionen
    2. A.2 Werkzeuge unter .NET
      1. A.2.1 ildasm
      2. A.2.2 Globaler Assembly-Cache
    3. A.3 Grammatik von C#
    4. A.4 Unicode und ASCII
    5. Literatur
    6. Index