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

C# 5.0 kurz & gut

Book Description

Wer schon mit Java, C++ oder einer früheren Version von C# vertraut ist, trifft mit C# 5.0 – kurz & gut die optimale Wahl: Kein anderes Buch und keine Online-Ressource bietet so viel Inhalt auf so wenig Raum. Konzentriert auf das Wesentliche und sehr praxisorientiert, behandelt dieses Taschenbuch mehr Themen als viele der großen C#-Kompendien.

Table of Contents

  1. C# 5.0
  2. no. C# 5.0 – kurz & gut
    1. Ein erstes C#-Programm
      1. Kompilation
    2. Syntax
      1. Bezeichner und Schlüsselwörter
        1. Konflikte vermeiden
        2. Kontextuelle Schlüsselwörter
      2. Literale, Satzzeichen und Operatoren
      3. Kommentare
    3. Typgrundlagen
      1. Vordefinierte Typen
      2. Benutzerdefinierte Typen
        1. Member eines Typs
        2. Symmetrie vordefinierter und benutzerdefinierter Typen
        3. Konstruktoren und Instanziierung
        4. Instanz-Member versus statische Member
        5. Das Schlüsselwort public
      3. Umwandlungen
      4. Werttypen vs. Referenztypen
        1. Werttypen
        2. Referenztypen
        3. Null
      5. Die Einteilung der vordefinierten Typen
    4. Numerische Typen
      1. Numerische Literale
        1. Typableitung bei numerischen Literalen
        2. Numerische Suffixe
      2. Numerische Umwandlung
        1. Ganzzahlige Umwandlungen
        2. Reelle Umwandlungen
        3. Reelle Typen in ganzzahlige Typen umwandeln
      3. Arithmetisch Operatoren
      4. Inkrement- und Dekrementoperatoren
      5. Besondere integrale Operationen
        1. Ganzzahlige Division
        2. Ganzzahlüberlauf
        3. Die Operatoren checked und unchecked
        4. Bitoperatoren
      6. 8- und 16-Bit-Ganzzahlwerte
      7. Spezielle Float- und Double-Werte
      8. double vs. decimal
      9. Rundungsfehler bei reellen Zahlen
    5. Der Typ bool und die Booleschen Operatoren
      1. Gleichheits- und Vergleichsoperatoren
      2. Bedingungsoperatoren
    6. Strings und Zeichen
      1. String-Typ
        1. String-Verkettung
        2. String-Vergleiche
        3. In Strings suchen
        4. Strings verändern
    7. Arrays
      1. Standard-Elementinitialisierung
      2. Mehrdimensionale Arrays
        1. Rechteckige Arrays
        2. Ungleichförmige Arrays
      3. Vereinfachter Array-Initialisierungsausdruck
    8. Variablen und Parameter
      1. Der Stack und der Heap
        1. Stack
        2. Heap
      2. Sichere Zuweisung
      3. Vorgabewerte
      4. Parameter
        1. Argumente als Wert übergeben
        2. Der Modifikator ref
        3. Der Modifikator out
        4. Der Modifikator params
        5. Optionale Parameter
        6. Benannte Argumente
      5. var – Implizit typisierte lokale Variablen
    9. Ausdrücke und Operatoren
      1. Zuweisungsausdrücke
      2. Priorität und Assoziativität von Operatoren
        1. Priorität
        2. Linksassoziative Operatoren
        3. Rechtsassoziative Operatoren
      3. Operatorentabelle
    10. Anweisungen
      1. Deklarationsanweisungen
        1. Variablen mit lokaler Geltung
      2. Ausdrucksanweisungen
      3. Auswahlanweisungen
        1. Die if-Anweisung
        2. Die else-Klausel
        3. Änderung des Programmflusses durch geschweifte Klammern
        4. Die switch-Anweisung
      4. Iterationsanweisungen
        1. while- und do-while-Schleifen
        2. for-Schleifen
        3. foreach-Schleifen
      5. Sprunganweisungen
        1. Die break-Anweisung
        2. Die continue-Anweisung
        3. Die goto-Anweisung
        4. Die return-Anweisung
    11. Namensräume
      1. Die using-Direktive
      2. Regeln in einem Namensraum
        1. Geltung von Namen
        2. Namen verdecken
        3. Wiederholte Namensräume
        4. Der Qualifizierer global::
      3. Aliase für Typen und Namensräume
    12. Klassen
      1. Felder
      2. Methoden
        1. Methoden überladen
      3. Instanzkonstruktoren
        1. Implizite parameterlose Konstruktoren
        2. Nicht öffentliche Konstruktoren
      4. Objektinitialisierer
      5. Die Referenz this
      6. Eigenschaften
        1. Automatische Eigenschaften
        2. Sichtbarkeit von get und set
      7. Indexer
        1. Implementieren eines Indexers
      8. Konstanten
      9. Statische Konstruktoren
      10. Statische Klassen
      11. Finalizer
      12. Partielle Typen und Methoden
        1. Partielle Methoden
    13. Vererbung
      1. Polymorphie
      2. Casting und Referenzumwandlungen
        1. Upcasting
        2. Downcasting
        3. Der as-Operator
        4. Der is-Operator
      3. Virtuelle Funktions-Member
      4. Abstrakte Klassen und abstrakte Member
      5. Verbergen geerbter Member
      6. Funktionen und Klassen versiegeln
      7. Das Schlüsselwort base
      8. Konstruktoren und Vererbung
        1. Reihenfolge von Konstruktor- und Feld-Initialisierung
      9. Auflösen beim Überladen
    14. Der Typ object
      1. Boxing und Unboxing
      2. Statische und Laufzeit-Typprüfung
      3. Die GetType-Methode und der typeof-Operator
      4. Die Member von object
      5. Equals, ReferenceEquals und GetHashCode
      6. Die ToString-Methode
    15. Structs
      1. Semantik beim Erzeugen eines Struct
    16. Zugriffsmodifikatoren
      1. Friend Assemblies
      2. Beschneiden der Sichtbarkeit
    17. Interfaces
      1. Erweitern eines Interface
      2. Explizite Implementierung eines Interface
      3. Virtuelles Implementieren von Interface-Membern
      4. Reimplementieren eines Interface in einer Subklasse
    18. Enums
      1. Enum-Konvertierungen
      2. Flag-Enums
      3. Enum-Operatoren
    19. Eingebettete Typen
    20. Generics
      1. Generische Typen
      2. Generische Methoden
      3. Deklarieren generischer Parameter
      4. typeof und ungebundene generische Typen
      5. Der generische Wert default
      6. Generische Constraints
      7. Erstellen abgeleiteter Klassen von generischen Typen
      8. Selbstreferenzielle generische Deklarationen
      9. Statische Daten
      10. Kovarianz
      11. Kontravarianz
    21. Delegates
      1. Schreiben von Plugin-Methoden mit Delegates
      2. Multicast-Delegates
      3. Instanzmethoden versus statische Methoden als Ziele
      4. Generische Delegate-Typen
      5. Die Func- und Action-Delegates
      6. Delegate-Kompatibilität
        1. Rückgabetypvarianz
        2. Parametervarianz
        3. Typparametervarianz bei generischen Delegates
    22. Events
      1. Standard-Event-Muster
      2. Event-Accessors
    23. Lambda-Ausdrücke
      1. Äußere Variablen übernehmen
        1. Iterationsvariablen übernehmen
    24. Anonyme Methoden
    25. try-Anweisungen und Exceptions
      1. Die catch-Klausel
      2. Der finally-Block
        1. Die using-Anweisung
      3. Werfen von Exceptions
        1. Eine Exception weiterwerfen
      4. Wichtige Eigenschaften von System.Exception
      5. Die wichtigsten Exception-Typen
    26. Enumeration und Iteratoren
      1. Enumeration
      2. Collection-Initialisierer
      3. Iteratoren
      4. Iteratorsemantik
        1. Mehrere yield-Anweisungen
        2. yield break
      5. Sequenzen kombinieren
    27. Nullbare Typen
      1. Das Struct Nullable<T>
      2. Nullbare Konvertierungen
      3. Boxing/Unboxing nullbarer Werte
      4. Übernommene Operatoren
        1. Gleichheitsoperatoren (==, !=)
        2. Relationale Operatoren (<, <=, >=, >)
        3. Alle anderen Operatoren (+, –, *, /, %, &, |, ^, <<, >>, +, ++, --, !, ~)
        4. Mischen von nullbaren und nicht nullbaren Typen
      5. bool? mit den Operatoren & und |
      6. Null-Verbindungsoperator
    28. Überladen von Operatoren
      1. Operatorfunktion
      2. Überladen von Gleichheits- und Vergleichsoperatoren
      3. Eigene implizite und explizite Konvertierungen
    29. Erweiterungsmethoden
      1. Verketten von Erweiterungsmethoden
      2. Mehrdeutigkeit und Auflösung
        1. Namensräume
        2. Erweiterungsmethoden vs. Instanzmethoden
        3. Erweiterungsmethoden vs. Erweiterungsmethoden
    30. Anonyme Typen
    31. LINQ
      1. Grundlagen von LINQ
        1. Eine einfache Abfrage
        2. Projizieren
        3. Take und Skip
        4. Elementoperatoren
        5. Aggregationsoperatoren
        6. Quantifizierer
        7. Mengenoperatoren
      2. Verzögerte Ausführung
      3. Standard-Abfrageoperatoren
      4. Abfrageoperatoren verketten
      5. Abfrageausdrücke
        1. Abfrageausdrücke vs. fließende Syntax
      6. Das Schlüsselwort let
      7. Abfragefortsetzungen
      8. Mehrere Generatoren
      9. Verknüpfen
        1. GroupJoin
        2. Zip
      10. Ordnen
      11. Gruppieren
      12. OfType und Cast
    32. Die dynamische Bindung
      1. Statische Bindung vs. dynamische Bindung
      2. Benutzerdefinierte Bindung
      3. Sprachbindung
      4. RuntimeBinderException
      5. Laufzeitdarstellung von dynamic
      6. Dynamische Konvertierungen
      7. var vs. dynamic
      8. Dynamische Ausdrücke
      9. Die dynamische Auflösung überladener Member
      10. Nicht aufrufbare Funktionen
    33. Attribute
      1. Attributklassen
      2. Benannte und positionelle Attributparameter
      3. Attributziele
      4. Angeben mehrerer Attribute
      5. Schreiben eigener Attribute
      6. Auslesen von Attributen zur Laufzeit
    34. Aufrufer-Info-Attribute (C# 5.0)
    35. Asynchrone Funktionen (C# 5.0)
      1. Die Schlüsselwörter await und async
      2. Lokale Zustände einfangen
      3. Asynchrone Funktionen schreiben
        1. Task<TResult> zurückliefern
      4. Parallelität
      5. Asynchrone Lambda-Ausdrücke
    36. Unsicherer Code und Zeiger
      1. Zeigergrundlagen
      2. Unsicherer Code
      3. Die Anweisung fixed
      4. Der Zeiger-auf-Member-Operator
      5. Arrays
        1. Das Schlüsselwort stackalloc keyword
        2. Puffer fester Größe
      6. void*
    37. Zeiger auf nicht verwalteten Code
      1. Warnungen
    38. XML-Dokumentation
      1. Standard-XML-Dokumentations-Tags
  3. Stichwortverzeichnis
  4. Impressum