dummies
 

Suchen und Finden

Titel

Autor/Verlag

Inhaltsverzeichnis

Nur ebooks mit Firmenlizenz anzeigen:

 

C# 6.0 - kurz & gut

Joseph Albahari, Ben Albahari

 

Verlag O'Reilly Verlag, 2016

ISBN 9783960100461 , 232 Seiten

4. Auflage

Format PDF, ePUB, OL

Kopierschutz Wasserzeichen

Geräte

14,90 EUR

Für Firmen: Nutzung über Internet und Intranet (ab 2 Exemplaren) freigegeben

Derzeit können über den Shop maximal 500 Exemplare bestellt werden. Benötigen Sie mehr Exemplare, nehmen Sie bitte Kontakt mit uns auf.


 

Inhalt

4

C# 6.0 – kurz & gut

6

Ein erstes C#-Programm

7

Kompilation

9

Syntax

10

Bezeichner und Schlüsselwörter

11

Konflikte vermeiden

12

Kontextuelle Schlüsselwörter

12

Literale, Satzzeichen und Operatoren

13

Kommentare

13

Typgrundlagen

14

Vordefinierte Typen

14

Benutzerdefinierte Typen

15

Member eines Typs

16

Symmetrie vordefinierter und benutzerdefinierter Typen

16

Konstruktoren und Instanziierung

17

Instanz-Member versus statische Member

17

Das Schlüsselwort public

18

Umwandlungen

18

Werttypen vs. Referenztypen

19

Werttypen

19

Referenztypen

20

Null

22

Die Einteilung der vordefinierten Typen

23

Numerische Typen

24

Numerische Literale

25

Typableitung bei numerischen Literalen

25

Numerische Suffixe

25

Numerische Umwandlung

26

Ganzzahlige Umwandlungen

26

Reelle Umwandlungen

26

Reelle Typen in ganzzahlige Typen umwandeln

26

Arithmetische Operatoren

27

Inkrement- und Dekrementoperatoren

27

Besondere integrale Operationen

27

Ganzzahlige Division

27

Ganzzahlüberlauf

28

Die Operatoren checked und unchecked

28

Bitoperatoren

29

8- und 16-Bit-Ganzzahlwerte

29

Spezielle Float- und Double-Werte

29

double vs. decimal

30

Rundungsfehler bei reellen Zahlen

31

Der Typ bool und die booleschen Operatoren

31

Gleichheits- und Vergleichsoperatoren

32

Bedingungsoperatoren

32

Strings und Zeichen

33

String-Typ

34

String-Verkettung

35

String-Interpolation (C# 6)

36

String-Vergleiche

36

In Strings suchen

37

Strings verändern

37

Arrays

37

Standard-Elementinitialisierung

39

Mehrdimensionale Arrays

39

Rechteckige Arrays

40

Ungleichförmige Arrays

40

Vereinfachter Array-Initialisierungsausdruck

41

Variablen und Parameter

42

Der Stack und der Heap

42

Stack

42

Heap

42

Sichere Zuweisung

43

Vorgabewerte

44

Parameter

44

Argumente als Wert übergeben

45

Der Modifikator ref

46

Der Modifikator out

46

Der Modifikator params

47

Optionale Parameter

47

Benannte Argumente

48

var – Implizit typisierte lokale Variablen

49

Ausdrücke und Operatoren

50

Zuweisungsausdrücke

51

Priorität und Assoziativität von Operatoren

51

Priorität

51

Linksassoziative Operatoren

52

Rechtsassoziative Operatoren

52

Operatorentabelle

52

Null-Operatoren

55

Null-Verbindungsoperator

56

Null-Bedingungsoperator (C# 6)

56

Anweisungen

57

Deklarationsanweisungen

58

Variablen mit lokaler Geltung

58

Ausdrucksanweisungen

58

Auswahlanweisungen

59

Die if-Anweisung

59

Die else-Klausel

59

Änderung des Programmflusses durch geschweifte Klammern

59

Die switch-Anweisung

60

Iterationsanweisungen

62

while- und do-while-Schleifen

62

for-Schleifen

63

foreach-Schleifen

63

Sprunganweisungen

64

Die break-Anweisung

64

Die continue-Anweisung

64

Die goto-Anweisung

65

Die return-Anweisung

65

Namensräume

65

Die using-Direktive

67

using static (C# 6)

67

Regeln in einem Namensraum

68

Geltung von Namen

68

Namen verdecken

69

Wiederholte Namensräume

69

Der Qualifizierer global::

69

Aliase für Typen und Namensräume

69

Klassen

70

Felder

70

Methoden

71

Expression-bodied Methoden (C# 6)

71

Methoden überladen

72

Instanzkonstruktoren

72

Implizite parameterlose Konstruktoren

73

Nicht öffentliche Konstruktoren

73

Objektinitialisierer

73

Die Referenz this

74

Eigenschaften

75

Expression-bodied Eigenschaften (C# 6)

76

Automatische Eigenschaften

76

Eigenschaftsinitialisierer (C# 6)

77

Sichtbarkeit von get und set

77

Indexer

78

Implementieren eines Indexers

78

Konstanten

79

Statische Konstruktoren

80

Statische Klassen

80

Finalizer

81

Partielle Typen und Methoden

81

Partielle Methoden

82

Der Operator nameof (C# 6)

82

Vererbung

83

Polymorphie

84

Casting und Referenzumwandlungen

84

Upcasting

85

Downcasting

85

Der as-Operator

86

Der is-Operator

86

Virtuelle Funktions-Member

87

Abstrakte Klassen und abstrakte Member

88

Verbergen geerbter Member

88

Funktionen und Klassen versiegeln

89

Das Schlüsselwort base

89

Konstruktoren und Vererbung

90

Reihenfolge von Konstruktor- und Feld-Initialisierung

91

Auflösen beim Überladen

91

Der Typ object

92

Boxing und Unboxing

93

Statische und Laufzeit-Typprüfung

94

Die GetType-Methode und der typeof-Operator

94

Die Member von object

95

Equals, ReferenceEquals und GetHashCode

95

Die ToString-Methode

96

Structs

96

Semantik beim Erzeugen eines Struct

97

Zugriffsmodifikatoren

97

Friend Assemblies

98

Beschneiden der Sichtbarkeit

99

Interfaces

99

Erweitern eines Interface

100

Explizite Implementierung eines Interface

100

Virtuelles Implementieren von Interface-Membern

101

Reimplementieren eines Interface in einer Subklasse

102

Enums

103

Enum-Konvertierungen

103

Flag-Enums

104

Enum-Operatoren

105

Eingebettete Typen

105

Generics

106

Generische Typen

106

Generische Methoden

108

Deklarieren generischer Parameter

109

typeof und ungebundene generische Typen

109

Der generische Wert default

110

Generische Constraints

110

Erstellen abgeleiteter Klassen von generischen Typen

111

Selbstreferenzielle generische Deklarationen

112

Statische Daten

112

Kovarianz

113

Kontravarianz

115

Delegates

115

Schreiben von Plug-in-Methoden mit Delegates

116

Multicast-Delegates

117

Instanzmethoden versus statische Methoden als Ziele

118

Generische Delegate-Typen

118

Die Func- und Action-Delegates

119

Delegate-Kompatibilität

119

Rückgabetypvarianz

120

Parametervarianz

120

Typparametervarianz bei generischen Delegates

121

Events

122

Standard-Event-Muster

124

Event-Accessors

127

Lambda-Ausdrücke

128

Äußere Variablen übernehmen

130

Iterationsvariablen übernehmen

131

Anonyme Methoden

132

try-Anweisungen und Exceptions

133

Die catch-Klausel

135

Exception-Filter (C# 6)

136

Der finally-Block

137

Die using-Anweisung

138

Werfen von Exceptions

138

Eine Exception weiterwerfen

139

Wichtige Eigenschaften von System.Exception

140

Die wichtigsten Exception-Typen

140

Enumeration und Iteratoren

141

Enumeration

141

Collection-Initialisierer

142

Iteratoren

143

Iteratorsemantik

145

Mehrere yield-Anweisungen

145

yield break

146

Sequenzen kombinieren

146

Nullbare Typen

147

Das Struct Nullable

148

Nullbare Konvertierungen

148

Boxing/Unboxing nullbarer Werte

149

Übernommene Operatoren

149

Gleichheitsoperatoren (==, !=)

150

Relationale Operatoren (=, >)

150

Alle anderen Operatoren (+, –, *, /, %, &

, |, ^, >, +, ++, --, !,

Mischen von nullbaren und nicht nullbaren Typen

151

bool? mit den Operatoren & und |

151

Nullbare Typen und Null-Operatoren

152

Überladen von Operatoren

152

Operatorfunktion

153

Überladen von Gleichheits- und Vergleichsoperatoren

154

Eigene implizite und explizite Konvertierungen

155

Erweiterungsmethoden

156

Verketten von Erweiterungsmethoden

156

Mehrdeutigkeit und Auflösung

157

Namensräume

157

Erweiterungsmethoden vs. Instanzmethoden

157

Erweiterungsmethoden vs. Erweiterungsmethoden

157

Anonyme Typen

158

LINQ

158

Grundlagen von LINQ

159

Eine einfache Abfrage

160

Projizieren

161

Take und Skip

161

Elementoperatoren

162

Aggregationsoperatoren

162

Quantifizierer

163

Mengenoperatoren

163

Verzögerte Ausführung

163

Standard-Abfrageoperatoren

165

Abfrageoperatoren verketten

169

Abfrageausdrücke

170

Abfrageausdrücke vs. fließende Syntax

172

Das Schlüsselwort let

173

Abfragefortsetzungen

174

Mehrere Generatoren

175

Verknüpfen

176

GroupJoin

178

Zip

179

Ordnen

180

Gruppieren

181

OfType und Cast

183

Die dynamische Bindung

183

Statische Bindung vs. dynamische Bindung

184

Benutzerdefinierte Bindung

185

Sprachbindung

186

RuntimeBinderException

188

Laufzeitdarstellung von dynamic

188

Dynamische Konvertierungen

189

var vs. dynamic

189

Dynamische Ausdrücke

190

Die dynamische Auflösung überladener Member

190

Nicht aufrufbare Funktionen

192

Attribute

193

Attributklassen

193

Benannte und positionelle Attributparameter

194

Attributziele

194

Angeben mehrerer Attribute

194

Schreiben eigener Attribute

195

Auslesen von Attributen zur Laufzeit

196

Aufrufer-Info-Attribute

197

Asynchrone Funktionen

198

Die Schlüsselwörter await und async

200

Lokale Zustände einfangen

203

Asynchrone Funktionen schreiben

203

Task zurückliefern

204

Parallelität

206

Asynchrone Lambda-Ausdrücke

207

Unsicherer Code und Zeiger

208

Zeigergrundlagen

208

Unsicherer Code

208

Die Anweisung fixed

209

Der Zeiger-auf-Member-Operator

210

Arrays

210

Das Schlüsselwort stackalloc keyword

210

Puffer fester Größe

211

void*

211

Präprozessordirektiven

212

Warnungen

214

XML-Dokumentation

215

Standard-XML-Dokumentations-Tags

216

Index

220

www.oreilly.de

0