Kompaktkurs C# 7

Hanspeter Mössenböck

Cite this publication as

Hanspeter Mössenböck, Kompaktkurs C# 7 (2018), dpunkt.verlag, Heidelberg, ISBN: 9783960886815

2691
accesses
6
quotes

Descripción / Abstract


Das Buch beschreibt in kompakter Form den gesamten Sprachumfang von C# mit den neuen Sprachmerkmalen von C# 7. 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 .NETFramework.


Themen:



  • Datenstrukturen und Anweisungen

  • 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

  • Tupel

  • Pattern Matching

  • Auszug aus der .NET-Klassenbibliothek

  • Fallstudien mit ASP.NET und Web-Services


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.


Descripción


Hanspeter Mössenböck ist Professor für Informatik an der Universität Linz und Leiter des Instituts für Systemsoftware. Er beschäf-tigt sich vor allem mit Programmiersprachen, Compilern und Systemsoftware.


Als ehemaliger Mitarbeiter von Prof. Niklaus Wirth an der ETH Zürich war er Mitglied des Oberon-Teams, in dem ein Pascal-Nachfolger samt innovativem Betriebssystem entwickelt wurde. Ferner ist er Autor des Compiler-Generators Coco/R, der heute weltweit als Public-Domain-Software eingesetzt wird. Neben einem Forschungsaufenthalt bei Sun Microsystems in Kalifornien hatte er Gastprofessuren in Oxford und Budapest inne. Er ist Verfasser der Bücher "Sprechen Sie Java?" und "Objektorientierte Programmierung in Oberon-2" sowie Mitverfasser der Bücher "Die .NET-Technologie" und "Ein Compiler-Generator für Mikrocomputer".


Índice

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

Títulos relacionados

    Otros títulos del mismo autor