Die C[#]-Programmiersprache: die vollständige Referenz ; [überarbeitet und aktualisiert auf C# 2.0]
Gespeichert in:
Hauptverfasser: | , , |
---|---|
Format: | Buch |
Sprache: | German English |
Veröffentlicht: |
München[ u.a.]
Addison-Wesley
2007
|
Ausgabe: | 2. Aufl. |
Schriftenreihe: | Microsoft .NET development series
|
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis |
Beschreibung: | Titel eigentlich: Die C#-Programmiersprache. #-Zeichen blockiert Dublettenkontrolle. - Wird vom Verl. auch als Teil eines 5-Bände-Sets vertrieben u.d.T.: Die Microsoft .NET-Bibliothek (ISBN 978-3-8273-2520-4) |
Beschreibung: | 739 S. |
ISBN: | 9783827325204 382732436X 9783827324368 9783827326140 |
Internformat
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV021822711 | ||
003 | DE-604 | ||
005 | 20090929 | ||
007 | t | ||
008 | 061122s2007 |||| 00||| ger d | ||
020 | |a 9783827325204 |9 978-3-8273-2520-4 | ||
020 | |a 382732436X |9 3-8273-2436-X | ||
020 | |a 9783827324368 |9 978-3-8273-2436-8 | ||
020 | |a 9783827326140 |9 978-3-8273-2614-0 | ||
035 | |a (OCoLC)162223823 | ||
035 | |a (DE-599)BVBBV021822711 | ||
040 | |a DE-604 |b ger |e rakwb | ||
041 | 1 | |a ger |h eng | |
049 | |a DE-12 |a DE-91G |a DE-29T |a DE-824 |a DE-20 |a DE-M347 |a DE-384 |a DE-1046 |a DE-573 |a DE-634 |a DE-83 |a DE-11 | ||
082 | 0 | |a 004 | |
084 | |a ST 250 |0 (DE-625)143626: |2 rvk | ||
084 | |a ST 260 |0 (DE-625)143632: |2 rvk | ||
084 | |a DAT 358f |2 stub | ||
100 | 1 | |a Hejlsberg, Anders |d 1960- |e Verfasser |0 (DE-588)107108299X |4 aut | |
240 | 1 | 0 | |a The C[#] programming language |
245 | 1 | 0 | |a Die C[#]-Programmiersprache |b die vollständige Referenz ; [überarbeitet und aktualisiert auf C# 2.0] |c Anders Hejlsberg ; Scott Wiltamuth ; Peter Golde |
246 | 1 | 3 | |a Die C-sharp-Programmiersprache |
250 | |a 2. Aufl. | ||
264 | 1 | |a München[ u.a.] |b Addison-Wesley |c 2007 | |
300 | |a 739 S. | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
490 | 0 | |a Microsoft .NET development series | |
500 | |a Titel eigentlich: Die C#-Programmiersprache. #-Zeichen blockiert Dublettenkontrolle. - Wird vom Verl. auch als Teil eines 5-Bände-Sets vertrieben u.d.T.: Die Microsoft .NET-Bibliothek (ISBN 978-3-8273-2520-4) | ||
650 | 0 | 7 | |a C sharp 4.0 |0 (DE-588)7683323-9 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a C sharp |0 (DE-588)4616843-6 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a C sharp 2.0 |0 (DE-588)4823912-4 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a C sharp 2.0 |0 (DE-588)4823912-4 |D s |
689 | 0 | |5 DE-604 | |
689 | 1 | 0 | |a C sharp |0 (DE-588)4616843-6 |D s |
689 | 1 | |8 1\p |5 DE-604 | |
689 | 2 | 0 | |a C sharp 4.0 |0 (DE-588)7683323-9 |D s |
689 | 2 | |8 2\p |5 DE-604 | |
700 | 1 | |a Wiltamuth, Scott |e Verfasser |4 aut | |
700 | 1 | |a Golde, Peter |e Verfasser |4 aut | |
856 | 4 | 2 | |m Digitalisierung UB Augsburg |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=015034831&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
883 | 1 | |8 1\p |a cgwrk |d 20201028 |q DE-101 |u https://d-nb.info/provenance/plan#cgwrk | |
883 | 1 | |8 2\p |a cgwrk |d 20201028 |q DE-101 |u https://d-nb.info/provenance/plan#cgwrk | |
943 | 1 | |a oai:aleph.bib-bvb.de:BVB01-015034831 |
Datensatz im Suchindex
_version_ | 1805086564629348352 |
---|---|
adam_text |
Inhaltsverzeichnis
Vorwort 21
Teil 1 C# 1.0 23
25
26
27
29
33
35
39
40
41
41
42
43
51
56
58
60
61
63
64
Einführung
1.1
Hallo, Welt
1.2
Die Programmstruktur
1.3
Typen und Variablen
1.4
Ausdrücke
1.5
Anweisungen
1.6
Klassen und Objekte
1.6.1
Member
1,6.2 Zugriffsmodifizierer
1.6.3 Basisklassen
1.6.4 Felder
1.6.5 Methoden
1.6.6 Andere Funktionsmember
1.7
Strukturen (structs)
1.8
Arrays
1.9
Interfaces
1.10
Aufzählungen
1.11
Delegates
1.12
Attribute
m
INHALTSVERZEICHNIS
2 Die lexikalische Struktur 67
2.1
2.2
2,3
2.4
2.5
Programme
67
Grammatik
67
2.2.1
Schreibweisen
68
2.2.2
Lexikalische Grammatik
69
2.2.3
Syntaktische Grammatik
69
Lexikalische Analyse
69
2.3.1
Zeilenendezeichen
70
2.3.2
Leerraum
71
2.3.3
Kommentare
71
Textelemente
73
2.4.1
Escape-Sequenzen für Unicode-Zeichen (Maskierung)
73
2.4.2
Bezeichner
74
2.4.3
Schlüsselwörter
76
2.4.4
Literale
77
2.4.5
Operatoren und Trennzeichen
84
Präprozessor-Direktiven
84
2.5,1
Symbole für die bedingte Kompilierung
85
2.5.2
Präprozessor-Ausdrücke
86
2.5.3
Deklarationsdirektiven
87
2.5.4
Direktiven für die bedingte Kompilierung
88
2.5.5
Diagnosedirektiven
92
2.5,6
Abschnittsdirektiven
92
2.5.7
Zeilendirektiven
93
3 Grundbegriffe 95
3.1 Anwendungsstart 95
3.2 Anwendungsende 97
3.3 Deklarationen 97
3.4
Member
100
3.4.1
Namespace-Member
100
3.4.2 Strukturmember 101
3.4.3 Aufzählungsmember 101
3.4.4 Klassenmember 101
3.4.5
Interface-Member
102
3.4.6
Array-Member
102
3.4.7
Delegate-Member
102
3.5 Memberzugriff 102
3.5.1 Zugriffsdeklaration 102
3.5.2 Zugriffsdomänen 104
3.5.3 Geschützter Zugriff für Instanzmember 107
3.5.4 Zugriffseinschränkungen 108
3.6
Signaturen
und Überladung 109
3.7 Gültigkeitsbereiche HO
3.7.1 Verbergen von Namen 113
3.8 Namespace- und Typnamen 116
3.8.1 Vollständig qualifizierte Namen 118
3.9 Automatische Speicherverwaltung 119
3.10 Ausführungsreihenfolge 122
4 Typen 125
4.1 Wertetypen 126
4.1.1 Der Typ System.ValueType 127
4.1.2 Standardkonstruktoren 127
4.1.3 Strukturtypen 128
4.1.4 Einfache Typen 128
4.1.5 Integrierte Typen 129
4.1.6 Fließkommatypen 131
4.1.7 Der Datentyp
decimal
133
4.1.8 Der Datentyp bool 134
4.1.9 Aufzählungstypen 134
4.2 Verweistypen 134
4.2.1 Klassentypen 135
4.2.2 Der Datentyp
object
136
4.2.3 Der Datentyp
string
136
4.2.4 Interface-Typen 136
4.2.5 Array-Typen 137
4.2.6 Delegate-Typen 137
43
Boxing
und
Unboxing
137
4.3.1
Boxing
137
4.3.2
Unboxing
139
5 Variablen 141
5.1 Kategorien von Variablen 141
5.1.1 Statische Variablen 142
5.1.2 Instanz variablen 142
5.1.3 Array-Elemente 143
5.1.4 Werteparameter 143
5.1.5 Verweisparameter 143
5.1.6 Ausgabeparameter 144
5.1.7 Lokale Variablen 144
5.2 Standardwerte 145
5.3 Eindeutige Zuweisung 146
5.3.1 Ursprünglich zugewiesene Variablen 147
5.3.2 Ursprünglich nicht zugewiesene Variablen 147
5.3.3 Regeln zum Bestimmen der eindeutigen Zuweisung 148
INHALTSVERZEICHNIS
5.4
5.5
6
Kor
6.1
6.2
6.3
6.4
7.1
7.2
7.3
7.4
Variablenreferenz
160
Die Unteilbarkeit von Variablenreferenzen
161
rtieru
ngen
163
Implizite Konvertierungen
163
6.1.1
Identitäts-Konvertierung
164
6.1,2
Implizite numerische Konvertierung
164
6.1.3
Implizite Aufzählungskonvertierungen
165
6.1.4
Implizite Referenzkonvertierungen
165
6.1.5
Boxing
165
6.1.6
Implizite Konvertierungen konstanter Ausdrücke
166
6.1.7
Benutzerdefinierte implizite Konvertierungen
166
Explizite Konvertierungen
166
6.2.1
Explizite numerische Konvertierungen
167
6.2.2
Explizite Aufzählungskonvertierungen
169
6.2.3
Explizite Referenzkonvertierungen
170
6.2.4
Unboxing
170
6.2.5
Benutzerdefinierte explizite Konvertierungen
171
Standardkonvertierungen
171
6.3.1
Standardmäßige implizite Konvertierungen
171
6.3.2
Standardmäßige explizite Konvertierungen
171
Benutzerdefinierte Konvertierungen
171
6.4.1
Zulässige benutzerdefinierte Konvertierungen
172
6.4.2
Auswertung von benutzerdefinierten Konvertierungen
172
6.4.3
Implizite benutzerdefinierte Konvertierungen
174
6.4.4
Explizite benutzerdefinierte Konvertierungen
175
iicke
177
Klassifizierung von Ausdrücken
177
7.1.1
Werte von Ausdrücken
179
Operatoren
179
7.2.1
Vorrang und Orientierung
180
7.2.2
Überladen von Operatoren
181
7.2.3
Überladungsauflösung für unäre Operatoren
183
7.2.4
Überladungsauflösung für binäre Operatoren
183
7.2.5
Benutzerdefinierte Operatorkandidaten
184
7.2.6
Numerische Erweiterung
184
Membersuche
186
7.3.1
Basistypen
187
Funktionsmember
188
7.4.1
Argumentlisten
191
7.4.2
Überladungsauflösung
195
7.4.3
Aufruf von Funktionsmembern
197
7.5 Primäre Ausdrücke 200
7.5.1
Literale
200
7.5.2 Einfache Bezeichner 201
7.5.3 Geklammerte Ausdrücke 203
7.5.4 Memberzugriff 203
7.5.5' Aufrufausdrücke 206
7.5.6 Elementzugriff 209
7.5.7 this-Zugriff 211
7.5.8 base-Zugriff 212
7.5.9 Inkrement- und Dekrement-Postnxoperatoren 213
7,5-10 Der Operator
new
214
7.5.11 Der Operator typeof 221
7.5.12 Die Operatoren
checked
und
unchecked
222
7 6 Unäre Operatoren 225
7.6.1 Der unäre Plus-Operator 226
7.6.2 Der unäre Minus-Operator 226
7.6.3 Der Operator für die logische Negation 227
7.6.4 Der Operator für das bitweise Komplement 227
7.6.5 Die Inkrement- und Dekrement-Präfixoperatoren 228
7.6.6 Konvertierungsausdrücke 229
7.7 Arithmetische Operatoren 230
7.7.1 Der Multiplikationsoperator 230
7.7.2 Der Divisionsoperator 231
7.7.3 Der Restoperator 233
7.7.4 Der Additionsoperator 234
7.7.5 Der Subtraktionsoperator 236
7.8 Verschiebeoperatoren 239
7.9
Relaţionale
Operatoren und Operatoren für
die Typüberprüfung 241
7.9.1 Integer-Vergleichsopera
toren
242
7.9.2 Fließkomma-Vergleichsoperatoren 242
7.9.3 Dezimale Vergleichsoperatoren 243
7.9.4 Boolesche Gleichheitsoperatoren 243
7.9.5 Auf zählungs- Vergleichsoper
atoren
244
7.9.6 Verweistyp-Gleichheitsoperatoren 244
7.9-7. String-Gleichheitsoperatoren 246
7.9.8 Delegate-Gleichheitsoperatoren 246
7.9.9 Der Operator
is
247
7.9.10 Der Operator
as
248
7.10 Logische Operatoren 248
7.10.1 Logische Operatoren für Integer-Ty
pen
249
7.10.2 Logische Operatoren für Aufzählungen 249
7.10.3 Boolesche logische Operatoren 250
10
m IHHALTSVERZEICHNIS
7.11
Logische Bedingungsoperatoren
250
7.11,1 Boolesche
logische Bedingungsoperatoren
251
7
Л
1.2 Benutzerdefinierte
logische Bedingungsoperatoren
251
7.12
Der
Bedingungsoperator
252
7.13 Zuweisungsoperatoren 253
7.13
Л
Einfache Zuweisung 254
7
Л
З
.2 Zusammengesetzte Zuweisung 256
7.13.3 Ereigniszuweisung 257
7.14 Ausdrücke 258
7.15 Konstante Ausdrücke 258
7.16 Boolesche Ausdrücke 259
8 Anweisungen 261
8.1 Endpunkte und Erreichbarkeit 262
8.2 Blöcke 264
8.2.1 Anweisungslisten 265
8.3 Die leere Anweisung 265
8.4 Benannte Anweisungen 266
8.5 Deklarationsanweisungen 267
8.5.1 Deklaration lokaler Variablen 267
8.5.2 Deklaration lokaler Konstanten 268
8.6 Ausdrucksanweisungen 269
8.7 Auswahlanweisungen 269
8.7.1 Die Anweisung
if
270
8.7.2 Die Anweisung
switch
271
8.8 Iterationsanweisungen 275
8.8.1 Die Anweisung
while
275
8.8.2 Die Anweisung
do
276
8.8.3 Die Anweisung
for
277
8.8.4 Die Anweisung foreach 279
8.9 Sprunganweisungen 281
8.9.1 Die Anweisung
break
282
8.9.2 Die Anweisung
continue
283
8.9.3 Die Anweisung goto 284
8.9.4 Die Anweisung return 285
8.9.5 Die Anweisung
throw
286
8.10 Die Anweisung
try
287
8.11 Die Anweisungen
checked
und
unchecked
291
8.12 Die Anweisung lock 292
8.13 Die Anweisung
using
293
11
Namespaces
297
9,1 Kompilierungseinheiten 297
298
300
300
303
305
306
307
307
307
309
311
311
313
314
314
315
315
316
320
322
325
326
327
328
330
330
334
336
343
344
346
348
349
351
352
352
353
354
355
361
9,2
Naměř
space-Deklarationen
9.3
using-Direktiven
9.3.1
Alias-using-Direktiven
9.3.2
Namespace-using-Direktiven
9.4
Namesp
ace-Member
9.5
Typdeklarationen
10 Klassen
гол
Klassendeklarationen
10.1.1
Klassenmodifizierer
10.1.2
Basisspezifikation
10.1.3
Der Klassenrumpf
10.2
Klassenmember
10.2.1
Vererbung
10.2.2
Der Modifizierer
new
10.2.3
Zugriffsmodifizierer
10.2.4
Konstituierende Typen
10.2.5
Statische und Instanzmember
10.2.6
Verschachtelte Typen
10.2.7
Reservierte Membernamen
103
Konstanten
10.4
Felder
10.4.1
Statische und Instanzenfelder
10.4.2
Schreibgeschützte Felder
10.4.3
Flüchtige Felder
10.4,4
Initialisierung von Feldern
10.4.5
Variablenini tialisierer
10.5
Methoden
10.5.1
Methodenparameter
10.5.2
Statische und Instanzmethoden
10.5.3
Virtuelle Methoden
10.5.4
Überschriebene Methoden
10.5.5
Versiegelte Methoden
10.5.6
Abstrakte Methoden
10.5.7
Externe Methoden
10.5.8
Der Methodenrumpf
10.5.9
Überladen von Methoden
10.6
Eigenschaften
10.6.1
Statische und Instanzeigenschaften
10.6.2
Zugriffsmethoden
10.6.3
Virtuelle, versiegelte, überschriebene und
abstrakte Zugriffsmethoden
12
j
INHALTSVERZEICHNIS
20.7 Ereignisse 363
10.7
Λ
Feldähnliche Ereignisse 365
10.7.2 Ereignis-Zugriffsmethoden 367
10.7.3 Statische und Instanzereignisse 369
10.7.4 Virtuelle, versiegelte, überschriebene und
abstrakte Zugriffsmethoden 369
10.8 Indexer 370
10.8.1 Überladen von Indexern 375
10.9 Operatoren 375
10.9.1 Unäre Operatoren 376
10.9.2 Binäre Operatoren 378
10.9.3 Konvertierungsoperatoren 378
10.10 Instanzkonstruktoren 380
10.10.1 Konstruktorinitialisierer 381
10.10.2 Initialisierer für Instanzvariablen 382
10.10.3 Die Ausführung von Konstruktoren 383
10.10.4 Standardkonstruktoren 385
10.10.5 Private Konstruktoren 385
10.10.6 Optionale Parameter für Instanzkonstruktoren 386
10.11 Statische Konstraktoren 386
10.12 Destruktoren 389
11 Strukturen 393
11.1 Strukturdeklarationen 394
11.1.1 Strukturmodifizierer 394
11.1.2 Struktur-Interfaces 394
11.1.3 Strukturrumpf 395
11.2 Strukturmember 395
11.3 Unterschiede zwischen Klassen und Strukturen 395
11.3.1 Wertesemanrik 396
11.3.2 Vererbung 397
11.3.3 Zuweisung 397
11.3.4 Standardwerte 397
11.3.5
Boxing
und
Unboxing
398
11.3.6 Die Bedeutung von
this
399
11.3.7 Feldinitialisierer 399
11.3.8 Konstruktoren 399
11.3.9 Destruktoren 400
11.4 Beispiele für Strukturen 400
11.4.1 Der Integer-Datenbanktyp 401
11.4.2 Der boolesche Datenbanktyp 403
INHALTSVERZEICHNIS
Ш
13
12
Arrays
12.1
Array-Typen
12.1.
í
Der Typ System.
Array
12.2
Erstellen von
Arrays
173
Zugriff auf Array-Elemente
ПА
Array-Member
12.5
Kovarianz von
Arrays
12.6
Array-Ini tialisierer
l'i
Interfaces
1
3.1 Interface-Deklarationen
13.1.1 Interface-Modifizierer
13.1.2 Basis-Interfaces
13.1.3 Interface-Rumpf
13.2
Interface-Member
13.2.1 Interface-Methoden
13.2.2 Interface-Eigenschaften
13.2.3 Interface-Ereignisse
13.2.4 Interface-Indexer
13.2.5 Zugriff auf Interface-Member
13.3 Vollständig qualifizierte Namen von Interface-Membern
13.4 Interface-Implementierungen
13.4.1 Explizite Implementierung von Interf ace-Membern
13.4.2 Interface-Zuordnung
13.4.3 Vererbung der Interface-Implementierung
13.4.4 Reimplementierung von Interfaces
13.4.5 Abstrakte Klassen und Interfaces
14 Aufzählungen
14.1 Aufzählungsdeklarationen
14.2 Aufzählungsmodifizierer
14.3 Aufzählungsmember
14.4 Der Typ System.Enum
14.5 Werte und Operationen von Aufzählungen
15
Delegates
15.1
Delega
te-Deklarationen
15.2 Instanzierung von
Delegates
15.3 Aufrufen von
Delegates
405
406
407
407
407
407
408
409
411
411
412
412
413
413
415
415
415
416
416
418
419
420
422
426
427
429
431
431
432
433
435
436
437
438
440
441
14
16
Exceptions
(Ausnahmen) 445
16.1 Gründe für
Exceptions
445
16.2 Die Klasse System.
Exception
446
16.3 Handhabung von
Exceptions
446
16.4 Gebräuchliche Exceptionklassen 447
17 Attribute 449
17.1 Attributklassen 449
17.1.1 Attributverwendung 450
17.1.2 Positionale und benannte Parameter 451
17.1.3 Typen der Attributparameter 452
17.2 Attributspezifikation 452
17.3 Attributinstanzen 458
17.3.1 Kompilieren eines Attributs 458
17.3.2 Abruf einer Attributmstanz zur Laufzeit 459
17.4 Reservierte Attribute 459
17.4.1 Das Attribut AttributeUsage 460
17.4.2 Das Attribut
Conditional
460
17.4.3 Das Attribut Obsolete 463
17.5 Attribute für die Interoperabilität 465
17.5.1 Interoperabilität mit COM- und
Win32-Komponenten
465
17.5.2 Interoperabilität mit anderen .NET-Sprachen 465
18 Unsicherer Code 467
18.1 Unsicherer Kontext 468
18.2 Zeigertypen 471
18.3 Feste und bewegliche Variablen 474
18.4 Zeigerkonvertierung 475
18.5 Zeiger in Ausdrücken 477
18.5.1 Zeigerindirektion 477
18.5.2 Zeigermemberzugriff 478
18.5.3 Zeigerelementzugriff 479
18.5.4 Der Operator address-of 480
18.5.5 Zeigerinkrement und
-dekrement
481
18.5.6 Zeigerarithmetik 481
18.5.7 Zeigervergleiche 482
18.5.8 Der Operator sizeof 483
18.6 Die Anweisung
fixed
484
18.7 Stack-Zuweisung 488
18.8 Dynamische Speicherzuweisung 489
INHALTSVERZEICHNIS m 15
Teil
II
C#2.0 493
19 Einführung in C# 2.0 495
19.1 Generics 496
19.1.1 Wozu Generics? 496
19.1.2 Erstellen und Verwenden von Generics 497
19.1.3 Instanziieren generischer Typen 499
19.1.4 Einschränkungen 499
19.1.5
Generische
Methoden 502
19.2 Anonyme Methoden 503
19.2.1 Konvertierung von Methodengruppen 506
19.3 Iteratoren 506
19.4 Partielle Typen 511
19.5 Nullable
Types
512
20 Generics 517
20.1 Deklaration generischer Klassen 517
20.1.1 Typparameter 518
20.1.2 Der Instanztyp 520
20.1.3 Die Basisspezifikation 520
20.1.4
Member
generischer Klassen 521
20.1.5 Statische Felder in generischen Klassen 522
20.1.6 Statische Konstruktoren in generischen Klassen 523
20.1.7 Zugriff auf geschützte
(protected) Member
523
20.1.8 Überladen in generischen Klassen 524
20.1.9 Parameter-Array-Methoden und Typparameter 525
20.1.10 Überschreiben in generischen Klassen 525
20.1.11 Operatoren in generischen Klassen 526
20.1.12 Verschachtelte Typen in generischen Klassen 528
20.1.13 Der Eintrittspunkt einer Anwendung 528
20.2 Deklaration generischer Strukturen 529
20.3 Deklaration generischer Interfaces 529
20.3.1 Eindeutigkeit implementierter Interfaces 529
20.3.2 Explizite Implementierung von Interface-Membern 531
20.4 Deklaration generischer
Delegates
531
20.5 Konstruierte Typen 532
20.5.1 Typargumente 533
20.5.2 Offene und geschlossene Typen 534
20.5.3 Basisklassen und -Interfaces eines konstruierten Typs 534
20.5.4
Member
eines konstruierten Typs 535
20.5.5 Zugriff auf einen konstruierten Typ 536
20.5.6 Konvertierungen 536
16 ·.
ЩЦ
Α,Ι'ΐ
SVlñlíl €ñUI5
20.5.7
Aliase
537
20.5.8 Attribute 538
20.5.9
Arrays
und
das
generische
Interface IList 538
20.6
Generische Methoden
539
20.6.1
Signaturen generischer Methoden
540
20.6.2 Virtuelle
generische Methoden
541
20.6.3 Aufrufen
generischer Methoden
543
20.6.4
Typ-Inferenz
von Typargumenten 543
20.6.5 Syntaktische Mehrdeutigkeiten 545
20.6.6 Verwenden einer generischen Methode durch
einen
Delegate
547
20.6.7 Keine generischen Eigenschaften, Ereignisse,
Indexer und Operatoren 547
20.7 Einschränkungen
(Constraints)
548
20.7.1 Erfüllen der Einschränkungen 553
20.7.2 Membersuche in Typparametern 555
20.7.3 Typparameter und
Boxing
556
20.7.4· Konvertierungen im Zusammenhang mit Typparametern 557
20.8 Ausdrücke und Anweisungen 559
20.8.1 Ausdrücke für die Objekterstellung 559
20.8.2 Der typeof-Operator 560
20.8.3 Gleichheitsoperatoren 562
20.8.4 Der is-Operator 562
20.8.5 Der as-Operator 563
20.8.6 Ausnahmeanweisungen 563
20.8.7 Die lock-An Weisung 563
20.8.8 Die
using-
An Weisung 563
20.8.9 Die foreach-Anweisung 564
20.9 Überarbeitete Regeln für die Membersuche 564
20.9.1 Namespace-und Typnamen 564
20.9.2 Membersuche 567
20.9.3 Anwendbares Funktionsmember 569
20.9.4 Besseres Funktionsmember 570
20.9.5 Einfache Bezeichner 571
20.9.6 Memberzugriff 573
20.9.7 Methodenaufrufe 575
20.10 Änderungen in der Grammatik für die Rechtsverschiebung 577
21 Anonyme Methoden 579
21.1 Ausdrücke mit anonymen Methoden 579
21.2 Signaturen anonymer Methoden 580
21.3 Konvertierung anonymer Methoden 580
21.4 Blöcke anonymer Methoden 582
INHALTSVERZEICHNIS
|К
17
21.5 Äußere Variablen 583
21.5.1 »Einfangen«
(Capturing)
äußerer Variablen 583
21.5.2 Instanziierung lokaler Variablen 584
21.6 Auswertung anonymer Methoden 587
21.7 Die Gleichheit von Delegate-Instanzen 588
21.8 Eindeutige Zuweisung 588
21.9 Konvertierung von Methodengruppen 589
21.10 Ausdrücke zur Delegate-Erstellung 591
21.11 Implementierungsbeispiel 591
22 Iteratoren 595
22.1 Iteratorblöcke 595
22.1.1
Enumera
tor-Interfaces
596
22.1.2
Enumerable-Interfaces
596
22.1.3 Der
Yield
-Тур
596
22.1.4 this-Zugriff 596
22.2 Enumerator-Objekte 597
22.2.1 Die Methode MoveNext 597
22.2.2 Die Eigenschaft
Current
599
22.2.3 Die Methode
Dispose
599
22.3 Enumerable-Objekte 600
22.3.1 Die Methode GetEnumerator 601
22.4 Die yield-Anweisung 601
22.4.1 Eindeutige Zuweisung 603
22.5 Implementierungsbeispiel 603
23 Partielle Typen 611
23.1 Partielle Deklarationen 611
23.1.1 Attribute 612
23.1.2 Modifizierer 612
23.1.3 Typparameter und Einschränkungen 613
23.1.4 Die Basisklasse 614
23.1.5 Basis-Interfaces 614
23.1.6
Member
614
23.2 Namensbindung 615
24 Nullable
Types
617
24.1 Nullable
Types
617
24.1.1
Member
618
24.1.2 Standardwert 618
24.1.3 Die Wertetypeinschränkung 618
18
2
и.
2 Konvertierungen 619
24.?.
a
Konvertierung des
null-Literals
619
24.2.7 Konvertierungen von NuUable
Types
619
24.2.3
Boxing
und
Unboxing
620
¿4,2
A
Erlaubte benutzerdefinierte Konvertierungen 621
24.2.5 Auswertung benutzerdefinierter Konvertierungen 622
24.2.6 Erweiterte Konvertierungen 622
24.2.7 Benutzerdefinierte implizite Konvertierungen 623
24.2.8 Benutzerdefinierte explizite Konvertierungen 624
243 Ausdrücke 626
24.3.1 Erweiterte Operatoren 626
24.3.2 Erlaubte benutzerdefinierte Operatoren 627
24.33 Auflösung der Operatorüberladung 628
24.3.4 Gleichheitsoperatoren und null 628
243.5 Der is-Operator 628
24,3.6 Der as-Operator 629
243.7 Zusammengesetzte Operatoren 630
2 4 3.8 Der Typ bool? 630
24.3.9 Der Koaleszenzoperator (??) 630
25 Weitere Features 633
25.1
Sichtbarkeit von Eigenschaftsaccessoren 633
25.1.1 Deklaration von Eigenschaftsaccessoren 633
25.1.2 Verwenden von Eigenschaftsaccessoren 634
25.1.3 Überschreiben und Interface-Implementierung 636
25.2 Statische Klassen 636
25.2/5 Deklaration statischer Klassen 637
25.2.2 Verweise auf Typen statischer Klassen 638
253 Qualifizierer für Namespace-
Aliase
638
253.1 Qualifizierte
Alias-Member
641
25.3.2 Eindeutigkeit von
Aliasen
642
25.4 Extem-
Aliase
643
25.4.1 Alias-extern-Direktiven 646
255 Pragma-Direktiven 647
25.5.1
Pragma Warning
648
25.6 Standardwertausdruck 649
2b,7
Conditional-
Attributklassen 649
25,8 Puffer fester Größe 650
25.8.1 Deklaration von Puffern fester Größe 650
25.8.2 Puffer fester Größe in Ausdrücken 652
25.8.3 Die
fixed-
Anweisung 653
25.8.4 Überprüfung der eindeutigen Zuweisung 654
INHALTSVERZEICHNIS
m
19
Teil
Ш
Anhänge 655
A
Dokumentationskommentare 657
658
659
660
661
661
661
662
663
664
665
665
665
666
666
667
667
668
668
669
669
669
670
671
675
675
678
681
681
682
682
683
683
683
683
685
685
688
688
АЛ
Einführung
4,2
Empfohlene Tags
A.2,1
<c>
A.2.2
<code>
A.2.3'
<example>
A.2.4
<exception>
A.2.5
<include>
A.2,6
<list>
A.2,7
<para>
A.2.8
<param>
A.2,9
<paramref>
А.2Л0
<permission>
А.2Л1
<remarks>
А.2Л2
<returns>
А.2ЛЗ
<see>
А.2Л4
<seealso>
А.2Л5
<summary>
А.2Л6
<value>
А.2Л7
<typeparam>
А.2Л8
<typeparamref>
A3
Verarbeiten der Dokumentationsdatei
А.ЗЛ
Format der ID-Strings
A.3.2
Beispiele für ID-Strings
A.4
Ein Beispiel
А.4Л
Der C#-Quellcode
A.4.2
Die XML-Ausgabe
В
Grammatik
вл
Lexikalische Grammatik
ВЛЛ
Zeilenendezeichen
B.1.2
Kommentare
ВЛ.З
Leerraum
B.1.4
Textelemente
B.1.5
Escape-Sequenzen
B.1.6
Bezeichner
B.l.Z"
Schlüsselwörter
ВЛ.8
Literale
B.1.9
Operatoren und Trennzeichen
B.1.10
Präprozessor-Direktiven
20 INHALTSVERZEICHNIS
В.
2 Syntaktische Grammatik 692
692
692
694
694
700
704
706
714
716
716
718
718
719
B.3 Erweiterungen für unsicheren Code 720
Stichwortverzeichnis 725
В.2Л
Grundbegriffe
ß.2.2
Typen
ß.2.3
Variablen
B.2.4
Ausdrücke
B.2.5
Anweisungen
B.2.6
Namespaces
B.2.7
Klassen
B.2.8
Strukturen
8.2.9
Arrays
B.2.10
Interfaces
В.2.И
Aufzählungen
B.2.12
Delegates
B.2.13
Attribute |
adam_txt |
Inhaltsverzeichnis
Vorwort 21
Teil 1 C# 1.0 23
25
26
27
29
33
35
39
40
41
41
42
43
51
56
58
60
61
63
64
Einführung
1.1
Hallo, Welt
1.2
Die Programmstruktur
1.3
Typen und Variablen
1.4
Ausdrücke
1.5
Anweisungen
1.6
Klassen und Objekte
1.6.1
Member
1,6.2 Zugriffsmodifizierer
1.6.3 Basisklassen
1.6.4 Felder
1.6.5 Methoden
1.6.6 Andere Funktionsmember
1.7
Strukturen (structs)
1.8
Arrays
1.9
Interfaces
1.10
Aufzählungen
1.11
Delegates
1.12
Attribute
m
INHALTSVERZEICHNIS
2 Die lexikalische Struktur 67
2.1
2.2
2,3
2.4
2.5
Programme
67
Grammatik
67
2.2.1
Schreibweisen
68
2.2.2
Lexikalische Grammatik
69
2.2.3
Syntaktische Grammatik
69
Lexikalische Analyse
69
2.3.1
Zeilenendezeichen
70
2.3.2
Leerraum
71
2.3.3
Kommentare
71
Textelemente
73
2.4.1
Escape-Sequenzen für Unicode-Zeichen (Maskierung)
73
2.4.2
Bezeichner
74
2.4.3
Schlüsselwörter
76
2.4.4
Literale
77
2.4.5
Operatoren und Trennzeichen
84
Präprozessor-Direktiven
84
2.5,1
Symbole für die bedingte Kompilierung
85
2.5.2
Präprozessor-Ausdrücke
86
2.5.3
Deklarationsdirektiven
87
2.5.4
Direktiven für die bedingte Kompilierung
88
2.5.5
Diagnosedirektiven
92
2.5,6
Abschnittsdirektiven
92
2.5.7
Zeilendirektiven
93
3 Grundbegriffe 95
3.1 Anwendungsstart 95
3.2 Anwendungsende 97
3.3 Deklarationen 97
3.4
Member
100
3.4.1
Namespace-Member
100
3.4.2 Strukturmember 101
3.4.3 Aufzählungsmember 101
3.4.4 Klassenmember 101
3.4.5
Interface-Member
102
3.4.6
Array-Member
102
3.4.7
Delegate-Member
102
3.5 Memberzugriff 102
3.5.1 Zugriffsdeklaration 102
3.5.2 Zugriffsdomänen 104
3.5.3 Geschützter Zugriff für Instanzmember 107
3.5.4 Zugriffseinschränkungen 108
3.6
Signaturen
und Überladung 109
3.7 Gültigkeitsbereiche HO
3.7.1 Verbergen von Namen 113
3.8 Namespace- und Typnamen 116
3.8.1 Vollständig qualifizierte Namen 118
3.9 Automatische Speicherverwaltung 119
3.10 Ausführungsreihenfolge 122
4 Typen 125
4.1 Wertetypen 126
4.1.1 Der Typ System.ValueType 127
4.1.2 Standardkonstruktoren 127
4.1.3 Strukturtypen 128
4.1.4 Einfache Typen 128
4.1.5 Integrierte Typen 129
4.1.6 Fließkommatypen 131
4.1.7 Der Datentyp
decimal
133
4.1.8 Der Datentyp bool 134
4.1.9 Aufzählungstypen 134
4.2 Verweistypen 134
4.2.1 Klassentypen 135
4.2.2 Der Datentyp
object
136
4.2.3 Der Datentyp
string
136
4.2.4 Interface-Typen 136
4.2.5 Array-Typen 137
4.2.6 Delegate-Typen 137
43
Boxing
und
Unboxing
137
4.3.1
Boxing
137
4.3.2
Unboxing
139
5 Variablen 141
5.1 Kategorien von Variablen 141
5.1.1 Statische Variablen 142
5.1.2 Instanz variablen 142
5.1.3 Array-Elemente 143
5.1.4 Werteparameter 143
5.1.5 Verweisparameter 143
5.1.6 Ausgabeparameter 144
5.1.7 Lokale Variablen 144
5.2 Standardwerte 145
5.3 Eindeutige Zuweisung 146
5.3.1 Ursprünglich zugewiesene Variablen 147
5.3.2 Ursprünglich nicht zugewiesene Variablen 147
5.3.3 Regeln zum Bestimmen der eindeutigen Zuweisung 148
INHALTSVERZEICHNIS
5.4
5.5
6
Kor
6.1
6.2
6.3
6.4
7.1
7.2
7.3
7.4
Variablenreferenz
160
Die Unteilbarkeit von Variablenreferenzen
161
rtieru
ngen
163
Implizite Konvertierungen
163
6.1.1
Identitäts-Konvertierung
164
6.1,2
Implizite numerische Konvertierung
164
6.1.3
Implizite Aufzählungskonvertierungen
165
6.1.4
Implizite Referenzkonvertierungen
165
6.1.5
Boxing
165
6.1.6
Implizite Konvertierungen konstanter Ausdrücke
166
6.1.7
Benutzerdefinierte implizite Konvertierungen
166
Explizite Konvertierungen
166
6.2.1
Explizite numerische Konvertierungen
167
6.2.2
Explizite Aufzählungskonvertierungen
169
6.2.3
Explizite Referenzkonvertierungen
170
6.2.4
Unboxing
170
6.2.5
Benutzerdefinierte explizite Konvertierungen
171
Standardkonvertierungen
171
6.3.1
Standardmäßige implizite Konvertierungen
171
6.3.2
Standardmäßige explizite Konvertierungen
171
Benutzerdefinierte Konvertierungen
171
6.4.1
Zulässige benutzerdefinierte Konvertierungen
172
6.4.2
Auswertung von benutzerdefinierten Konvertierungen
172
6.4.3
Implizite benutzerdefinierte Konvertierungen
174
6.4.4
Explizite benutzerdefinierte Konvertierungen
175
iicke
177
Klassifizierung von Ausdrücken
177
7.1.1
Werte von Ausdrücken
179
Operatoren
179
7.2.1
Vorrang und Orientierung
180
7.2.2
Überladen von Operatoren
181
7.2.3
Überladungsauflösung für unäre Operatoren
183
7.2.4
Überladungsauflösung für binäre Operatoren
183
7.2.5
Benutzerdefinierte Operatorkandidaten
184
7.2.6
Numerische Erweiterung
184
Membersuche
186
7.3.1
Basistypen
187
Funktionsmember
188
7.4.1
Argumentlisten
191
7.4.2
Überladungsauflösung
195
7.4.3
Aufruf von Funktionsmembern
197
7.5 Primäre Ausdrücke 200
7.5.1
Literale
200
7.5.2 Einfache Bezeichner 201
7.5.3 Geklammerte Ausdrücke 203
7.5.4 Memberzugriff 203
7.5.5' Aufrufausdrücke 206
7.5.6 Elementzugriff 209
7.5.7 this-Zugriff 211
7.5.8 base-Zugriff 212
7.5.9 Inkrement- und Dekrement-Postnxoperatoren 213
7,5-10 Der Operator
new
214
7.5.11 Der Operator typeof 221
7.5.12 Die Operatoren
checked
und
unchecked
222
7 6 Unäre Operatoren 225
7.6.1 Der unäre Plus-Operator 226
7.6.2 Der unäre Minus-Operator 226
7.6.3 Der Operator für die logische Negation 227
7.6.4 Der Operator für das bitweise Komplement 227
7.6.5 Die Inkrement- und Dekrement-Präfixoperatoren 228
7.6.6 Konvertierungsausdrücke 229
7.7 Arithmetische Operatoren 230
7.7.1 Der Multiplikationsoperator 230
7.7.2 Der Divisionsoperator 231
7.7.3 Der Restoperator 233
7.7.4 Der Additionsoperator 234
7.7.5 Der Subtraktionsoperator 236
7.8 Verschiebeoperatoren 239
7.9
Relaţionale
Operatoren und Operatoren für
die Typüberprüfung 241
7.9.1 Integer-Vergleichsopera
toren
242
7.9.2 Fließkomma-Vergleichsoperatoren 242
7.9.3 Dezimale Vergleichsoperatoren 243
7.9.4 Boolesche Gleichheitsoperatoren 243
7.9.5 Auf zählungs- Vergleichsoper
atoren
244
7.9.6 Verweistyp-Gleichheitsoperatoren 244
7.9-7. String-Gleichheitsoperatoren 246
7.9.8 Delegate-Gleichheitsoperatoren 246
7.9.9 Der Operator
is
247
7.9.10 Der Operator
as
248
7.10 Logische Operatoren 248
7.10.1 Logische Operatoren für Integer-Ty
pen
249
7.10.2 Logische Operatoren für Aufzählungen 249
7.10.3 Boolesche logische Operatoren 250
10
m IHHALTSVERZEICHNIS
7.11
Logische Bedingungsoperatoren
250
7.11,1 Boolesche
logische Bedingungsoperatoren
251
7
Л
1.2 Benutzerdefinierte
logische Bedingungsoperatoren
251
7.12
Der
Bedingungsoperator
252
7.13 Zuweisungsoperatoren 253
7.13
Л
Einfache Zuweisung 254
7
Л
З
.2 Zusammengesetzte Zuweisung 256
7.13.3 Ereigniszuweisung 257
7.14 Ausdrücke 258
7.15 Konstante Ausdrücke 258
7.16 Boolesche Ausdrücke 259
8 Anweisungen 261
8.1 Endpunkte und Erreichbarkeit 262
8.2 Blöcke 264
8.2.1 Anweisungslisten 265
8.3 Die leere Anweisung 265
8.4 Benannte Anweisungen 266
8.5 Deklarationsanweisungen 267
8.5.1 Deklaration lokaler Variablen 267
8.5.2 Deklaration lokaler Konstanten 268
8.6 Ausdrucksanweisungen 269
8.7 Auswahlanweisungen 269
8.7.1 Die Anweisung
if
270
8.7.2 Die Anweisung
switch
271
8.8 Iterationsanweisungen 275
8.8.1 Die Anweisung
while
275
8.8.2 Die Anweisung
do
276
8.8.3 Die Anweisung
for
277
8.8.4 Die Anweisung foreach 279
8.9 Sprunganweisungen 281
8.9.1 Die Anweisung
break
282
8.9.2 Die Anweisung
continue
283
8.9.3 Die Anweisung goto 284
8.9.4 Die Anweisung return 285
8.9.5 Die Anweisung
throw
286
8.10 Die Anweisung
try
287
8.11 Die Anweisungen
checked
und
unchecked
291
8.12 Die Anweisung lock 292
8.13 Die Anweisung
using
293
11
Namespaces
297
9,1 Kompilierungseinheiten 297
298
300
300
303
305
306
307
307
307
309
311
311
313
314
314
315
315
316
320
322
325
326
327
328
330
330
334
336
343
344
346
348
349
351
352
352
353
354
355
361
9,2
Naměř
space-Deklarationen
9.3
using-Direktiven
9.3.1
Alias-using-Direktiven
9.3.2
Namespace-using-Direktiven
9.4
Namesp
ace-Member
9.5
Typdeklarationen
10 Klassen
гол
Klassendeklarationen
10.1.1
Klassenmodifizierer
10.1.2
Basisspezifikation
10.1.3
Der Klassenrumpf
10.2
Klassenmember
10.2.1
Vererbung
10.2.2
Der Modifizierer
new
10.2.3
Zugriffsmodifizierer
10.2.4
Konstituierende Typen
10.2.5
Statische und Instanzmember
10.2.6
Verschachtelte Typen
10.2.7
Reservierte Membernamen
103
Konstanten
10.4
Felder
10.4.1
Statische und Instanzenfelder
10.4.2
Schreibgeschützte Felder
10.4.3
Flüchtige Felder
10.4,4
Initialisierung von Feldern
10.4.5
Variablenini tialisierer
10.5
Methoden
10.5.1
Methodenparameter
10.5.2
Statische und Instanzmethoden
10.5.3
Virtuelle Methoden
10.5.4
Überschriebene Methoden
10.5.5
Versiegelte Methoden
10.5.6
Abstrakte Methoden
10.5.7
Externe Methoden
10.5.8
Der Methodenrumpf
10.5.9
Überladen von Methoden
10.6
Eigenschaften
10.6.1
Statische und Instanzeigenschaften
10.6.2
Zugriffsmethoden
10.6.3
Virtuelle, versiegelte, überschriebene und
abstrakte Zugriffsmethoden
12
j
INHALTSVERZEICHNIS
20.7 Ereignisse 363
10.7
Λ
Feldähnliche Ereignisse 365
10.7.2 Ereignis-Zugriffsmethoden 367
10.7.3 Statische und Instanzereignisse 369
10.7.4 Virtuelle, versiegelte, überschriebene und
abstrakte Zugriffsmethoden 369
10.8 Indexer 370
10.8.1 Überladen von Indexern 375
10.9 Operatoren 375
10.9.1 Unäre Operatoren 376
10.9.2 Binäre Operatoren 378
10.9.3 Konvertierungsoperatoren 378
10.10 Instanzkonstruktoren 380
10.10.1 Konstruktorinitialisierer 381
10.10.2 Initialisierer für Instanzvariablen 382
10.10.3 Die Ausführung von Konstruktoren 383
10.10.4 Standardkonstruktoren 385
10.10.5 Private Konstruktoren 385
10.10.6 Optionale Parameter für Instanzkonstruktoren 386
10.11 Statische Konstraktoren 386
10.12 Destruktoren 389
11 Strukturen 393
11.1 Strukturdeklarationen 394
11.1.1 Strukturmodifizierer 394
11.1.2 Struktur-Interfaces 394
11.1.3 Strukturrumpf 395
11.2 Strukturmember 395
11.3 Unterschiede zwischen Klassen und Strukturen 395
11.3.1 Wertesemanrik 396
11.3.2 Vererbung 397
11.3.3 Zuweisung 397
11.3.4 Standardwerte 397
11.3.5
Boxing
und
Unboxing
398
11.3.6 Die Bedeutung von
this
399
11.3.7 Feldinitialisierer 399
11.3.8 Konstruktoren 399
11.3.9 Destruktoren 400
11.4 Beispiele für Strukturen 400
11.4.1 Der Integer-Datenbanktyp 401
11.4.2 Der boolesche Datenbanktyp 403
INHALTSVERZEICHNIS
Ш
13
12
Arrays
12.1
Array-Typen
12.1.
í
Der Typ System.
Array
12.2
Erstellen von
Arrays
173
Zugriff auf Array-Elemente
ПА
Array-Member
12.5
Kovarianz von
Arrays
12.6
Array-Ini tialisierer
l'i
Interfaces
1
3.1 Interface-Deklarationen
13.1.1 Interface-Modifizierer
13.1.2 Basis-Interfaces
13.1.3 Interface-Rumpf
13.2
Interface-Member
13.2.1 Interface-Methoden
13.2.2 Interface-Eigenschaften
13.2.3 Interface-Ereignisse
13.2.4 Interface-Indexer
13.2.5 Zugriff auf Interface-Member
13.3 Vollständig qualifizierte Namen von Interface-Membern
13.4 Interface-Implementierungen
13.4.1 Explizite Implementierung von Interf ace-Membern
13.4.2 Interface-Zuordnung
13.4.3 Vererbung der Interface-Implementierung
13.4.4 Reimplementierung von Interfaces
13.4.5 Abstrakte Klassen und Interfaces
14 Aufzählungen
14.1 Aufzählungsdeklarationen
14.2 Aufzählungsmodifizierer
14.3 Aufzählungsmember
14.4 Der Typ System.Enum
14.5 Werte und Operationen von Aufzählungen
15
Delegates
15.1
Delega
te-Deklarationen
15.2 Instanzierung von
Delegates
15.3 Aufrufen von
Delegates
405
406
407
407
407
407
408
409
411
411
412
412
413
413
415
415
415
416
416
418
419
420
422
426
427
429
431
431
432
433
435
436
437
438
440
441
14
16
Exceptions
(Ausnahmen) 445
16.1 Gründe für
Exceptions
445
16.2 Die Klasse System.
Exception
446
16.3 Handhabung von
Exceptions
446
16.4 Gebräuchliche Exceptionklassen 447
17 Attribute 449
17.1 Attributklassen 449
17.1.1 Attributverwendung 450
17.1.2 Positionale und benannte Parameter 451
17.1.3 Typen der Attributparameter 452
17.2 Attributspezifikation 452
17.3 Attributinstanzen 458
17.3.1 Kompilieren eines Attributs 458
17.3.2 Abruf einer Attributmstanz zur Laufzeit 459
17.4 Reservierte Attribute 459
17.4.1 Das Attribut AttributeUsage 460
17.4.2 Das Attribut
Conditional
460
17.4.3 Das Attribut Obsolete 463
17.5 Attribute für die Interoperabilität 465
17.5.1 Interoperabilität mit COM- und
Win32-Komponenten
465
17.5.2 Interoperabilität mit anderen .NET-Sprachen 465
18 Unsicherer Code 467
18.1 Unsicherer Kontext 468
18.2 Zeigertypen 471
18.3 Feste und bewegliche Variablen 474
18.4 Zeigerkonvertierung 475
18.5 Zeiger in Ausdrücken 477
18.5.1 Zeigerindirektion 477
18.5.2 Zeigermemberzugriff 478
18.5.3 Zeigerelementzugriff 479
18.5.4 Der Operator address-of 480
18.5.5 Zeigerinkrement und
-dekrement
481
18.5.6 Zeigerarithmetik 481
18.5.7 Zeigervergleiche 482
18.5.8 Der Operator sizeof 483
18.6 Die Anweisung
fixed
484
18.7 Stack-Zuweisung 488
18.8 Dynamische Speicherzuweisung 489
INHALTSVERZEICHNIS m 15
Teil
II
C#2.0 493
19 Einführung in C# 2.0 495
19.1 Generics 496
19.1.1 Wozu Generics? 496
19.1.2 Erstellen und Verwenden von Generics 497
19.1.3 Instanziieren generischer Typen 499
19.1.4 Einschränkungen 499
19.1.5
Generische
Methoden 502
19.2 Anonyme Methoden 503
19.2.1 Konvertierung von Methodengruppen 506
19.3 Iteratoren 506
19.4 Partielle Typen 511
19.5 Nullable
Types
512
20 Generics 517
20.1 Deklaration generischer Klassen 517
20.1.1 Typparameter 518
20.1.2 Der Instanztyp 520
20.1.3 Die Basisspezifikation 520
20.1.4
Member
generischer Klassen 521
20.1.5 Statische Felder in generischen Klassen 522
20.1.6 Statische Konstruktoren in generischen Klassen 523
20.1.7 Zugriff auf geschützte
(protected) Member
523
20.1.8 Überladen in generischen Klassen 524
20.1.9 Parameter-Array-Methoden und Typparameter 525
20.1.10 Überschreiben in generischen Klassen 525
20.1.11 Operatoren in generischen Klassen 526
20.1.12 Verschachtelte Typen in generischen Klassen 528
20.1.13 Der Eintrittspunkt einer Anwendung 528
20.2 Deklaration generischer Strukturen 529
20.3 Deklaration generischer Interfaces 529
20.3.1 Eindeutigkeit implementierter Interfaces 529
20.3.2 Explizite Implementierung von Interface-Membern 531
20.4 Deklaration generischer
Delegates
531
20.5 Konstruierte Typen 532
20.5.1 Typargumente 533
20.5.2 Offene und geschlossene Typen 534
20.5.3 Basisklassen und -Interfaces eines konstruierten Typs 534
20.5.4
Member
eines konstruierten Typs 535
20.5.5 Zugriff auf einen konstruierten Typ 536
20.5.6 Konvertierungen 536
16 ·.
ЩЦ
Α,Ι'ΐ
SVlñlíl €ñUI5
20.5.7
Aliase
537
20.5.8 Attribute 538
20.5.9
Arrays
und
das
generische
Interface IList 538
20.6
Generische Methoden
539
20.6.1
Signaturen generischer Methoden
540
20.6.2 Virtuelle
generische Methoden
541
20.6.3 Aufrufen
generischer Methoden
543
20.6.4
Typ-Inferenz
von Typargumenten 543
20.6.5 Syntaktische Mehrdeutigkeiten 545
20.6.6 Verwenden einer generischen Methode durch
einen
Delegate
547
20.6.7 Keine generischen Eigenschaften, Ereignisse,
Indexer und Operatoren 547
20.7 Einschränkungen
(Constraints)
548
20.7.1 Erfüllen der Einschränkungen 553
20.7.2 Membersuche in Typparametern 555
20.7.3 Typparameter und
Boxing
556
20.7.4· Konvertierungen im Zusammenhang mit Typparametern 557
20.8 Ausdrücke und Anweisungen 559
20.8.1 Ausdrücke für die Objekterstellung 559
20.8.2 Der typeof-Operator 560
20.8.3 Gleichheitsoperatoren 562
20.8.4 Der is-Operator 562
20.8.5 Der as-Operator 563
20.8.6 Ausnahmeanweisungen 563
20.8.7 Die lock-An Weisung 563
20.8.8 Die
using-
An Weisung 563
20.8.9 Die foreach-Anweisung 564
20.9 Überarbeitete Regeln für die Membersuche 564
20.9.1 Namespace-und Typnamen 564
20.9.2 Membersuche 567
20.9.3 Anwendbares Funktionsmember 569
20.9.4 Besseres Funktionsmember 570
20.9.5 Einfache Bezeichner 571
20.9.6 Memberzugriff 573
20.9.7 Methodenaufrufe 575
20.10 Änderungen in der Grammatik für die Rechtsverschiebung 577
21 Anonyme Methoden 579
21.1 Ausdrücke mit anonymen Methoden 579
21.2 Signaturen anonymer Methoden 580
21.3 Konvertierung anonymer Methoden 580
21.4 Blöcke anonymer Methoden 582
INHALTSVERZEICHNIS
|К
17
21.5 Äußere Variablen 583
21.5.1 »Einfangen«
(Capturing)
äußerer Variablen 583
21.5.2 Instanziierung lokaler Variablen 584
21.6 Auswertung anonymer Methoden 587
21.7 Die Gleichheit von Delegate-Instanzen 588
21.8 Eindeutige Zuweisung 588
21.9 Konvertierung von Methodengruppen 589
21.10 Ausdrücke zur Delegate-Erstellung 591
21.11 Implementierungsbeispiel 591
22 Iteratoren 595
22.1 Iteratorblöcke 595
22.1.1
Enumera
tor-Interfaces
596
22.1.2
Enumerable-Interfaces
596
22.1.3 Der
Yield
-Тур
596
22.1.4 this-Zugriff 596
22.2 Enumerator-Objekte 597
22.2.1 Die Methode MoveNext 597
22.2.2 Die Eigenschaft
Current
599
22.2.3 Die Methode
Dispose
599
22.3 Enumerable-Objekte 600
22.3.1 Die Methode GetEnumerator 601
22.4 Die yield-Anweisung 601
22.4.1 Eindeutige Zuweisung 603
22.5 Implementierungsbeispiel 603
23 Partielle Typen 611
23.1 Partielle Deklarationen 611
23.1.1 Attribute 612
23.1.2 Modifizierer 612
23.1.3 Typparameter und Einschränkungen 613
23.1.4 Die Basisklasse 614
23.1.5 Basis-Interfaces 614
23.1.6
Member
614
23.2 Namensbindung 615
24 Nullable
Types
617
24.1 Nullable
Types
617
24.1.1
Member
618
24.1.2 Standardwert 618
24.1.3 Die Wertetypeinschränkung 618
18
2
и.
2 Konvertierungen 619
24.?.
a
Konvertierung des
null-Literals
619
24.2.7 Konvertierungen von NuUable
Types
619
24.2.3
Boxing
und
Unboxing
620
¿4,2
A
Erlaubte benutzerdefinierte Konvertierungen 621
24.2.5 Auswertung benutzerdefinierter Konvertierungen 622
24.2.6 Erweiterte Konvertierungen 622
24.2.7 Benutzerdefinierte implizite Konvertierungen 623
24.2.8 Benutzerdefinierte explizite Konvertierungen 624
243 Ausdrücke 626
24.3.1 Erweiterte Operatoren 626
24.3.2 Erlaubte benutzerdefinierte Operatoren 627
24.33 Auflösung der Operatorüberladung 628
24.3.4 Gleichheitsoperatoren und null 628
243.5 Der is-Operator 628
24,3.6 Der as-Operator 629
243.7 Zusammengesetzte Operatoren 630
2 4 3.8 Der Typ bool? 630
24.3.9 Der Koaleszenzoperator (??) 630
25 Weitere Features 633
25.1
Sichtbarkeit von Eigenschaftsaccessoren 633
25.1.1 Deklaration von Eigenschaftsaccessoren 633
25.1.2 Verwenden von Eigenschaftsaccessoren 634
25.1.3 Überschreiben und Interface-Implementierung 636
25.2 Statische Klassen 636
25.2/5 Deklaration statischer Klassen 637
25.2.2 Verweise auf Typen statischer Klassen 638
253 Qualifizierer für Namespace-
Aliase
638
253.1 Qualifizierte
Alias-Member
641
25.3.2 Eindeutigkeit von
Aliasen
642
25.4 Extem-
Aliase
643
25.4.1 Alias-extern-Direktiven 646
255 Pragma-Direktiven 647
25.5.1
Pragma Warning
648
25.6 Standardwertausdruck 649
2b,7
Conditional-
Attributklassen 649
25,8 Puffer fester Größe 650
25.8.1 Deklaration von Puffern fester Größe 650
25.8.2 Puffer fester Größe in Ausdrücken 652
25.8.3 Die
fixed-
Anweisung 653
25.8.4 Überprüfung der eindeutigen Zuweisung 654
INHALTSVERZEICHNIS
m
19
Teil
Ш
Anhänge 655
A
Dokumentationskommentare 657
658
659
660
661
661
661
662
663
664
665
665
665
666
666
667
667
668
668
669
669
669
670
671
675
675
678
681
681
682
682
683
683
683
683
685
685
688
688
АЛ
Einführung
4,2
Empfohlene Tags
A.2,1
<c>
A.2.2
<code>
A.2.3'
<example>
A.2.4
<exception>
A.2.5
<include>
A.2,6
<list>
A.2,7
<para>
A.2.8
<param>
A.2,9
<paramref>
А.2Л0
<permission>
А.2Л1
<remarks>
А.2Л2
<returns>
А.2ЛЗ
<see>
А.2Л4
<seealso>
А.2Л5
<summary>
А.2Л6
<value>
А.2Л7
<typeparam>
А.2Л8
<typeparamref>
A3
Verarbeiten der Dokumentationsdatei
А.ЗЛ
Format der ID-Strings
A.3.2
Beispiele für ID-Strings
A.4
Ein Beispiel
А.4Л
Der C#-Quellcode
A.4.2
Die XML-Ausgabe
В
Grammatik
вл
Lexikalische Grammatik
ВЛЛ
Zeilenendezeichen
B.1.2
Kommentare
ВЛ.З
Leerraum
B.1.4
Textelemente
B.1.5
Escape-Sequenzen
B.1.6
Bezeichner
B.l.Z"
Schlüsselwörter
ВЛ.8
Literale
B.1.9
Operatoren und Trennzeichen
B.1.10
Präprozessor-Direktiven
20 INHALTSVERZEICHNIS
В.
2 Syntaktische Grammatik 692
692
692
694
694
700
704
706
714
716
716
718
718
719
B.3 Erweiterungen für unsicheren Code 720
Stichwortverzeichnis 725
В.2Л
Grundbegriffe
ß.2.2
Typen
ß.2.3
Variablen
B.2.4
Ausdrücke
B.2.5
Anweisungen
B.2.6
Namespaces
B.2.7
Klassen
B.2.8
Strukturen
8.2.9
Arrays
B.2.10
Interfaces
В.2.И
Aufzählungen
B.2.12
Delegates
B.2.13
Attribute |
any_adam_object | 1 |
any_adam_object_boolean | 1 |
author | Hejlsberg, Anders 1960- Wiltamuth, Scott Golde, Peter |
author_GND | (DE-588)107108299X |
author_facet | Hejlsberg, Anders 1960- Wiltamuth, Scott Golde, Peter |
author_role | aut aut aut |
author_sort | Hejlsberg, Anders 1960- |
author_variant | a h ah s w sw p g pg |
building | Verbundindex |
bvnumber | BV021822711 |
classification_rvk | ST 250 ST 260 |
classification_tum | DAT 358f |
ctrlnum | (OCoLC)162223823 (DE-599)BVBBV021822711 |
dewey-full | 004 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 004 - Computer science |
dewey-raw | 004 |
dewey-search | 004 |
dewey-sort | 14 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
discipline_str_mv | Informatik |
edition | 2. Aufl. |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>00000nam a2200000 c 4500</leader><controlfield tag="001">BV021822711</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20090929</controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">061122s2007 |||| 00||| ger d</controlfield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9783827325204</subfield><subfield code="9">978-3-8273-2520-4</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">382732436X</subfield><subfield code="9">3-8273-2436-X</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9783827324368</subfield><subfield code="9">978-3-8273-2436-8</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9783827326140</subfield><subfield code="9">978-3-8273-2614-0</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)162223823</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV021822711</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rakwb</subfield></datafield><datafield tag="041" ind1="1" ind2=" "><subfield code="a">ger</subfield><subfield code="h">eng</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-12</subfield><subfield code="a">DE-91G</subfield><subfield code="a">DE-29T</subfield><subfield code="a">DE-824</subfield><subfield code="a">DE-20</subfield><subfield code="a">DE-M347</subfield><subfield code="a">DE-384</subfield><subfield code="a">DE-1046</subfield><subfield code="a">DE-573</subfield><subfield code="a">DE-634</subfield><subfield code="a">DE-83</subfield><subfield code="a">DE-11</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">004</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 250</subfield><subfield code="0">(DE-625)143626:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 260</subfield><subfield code="0">(DE-625)143632:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">DAT 358f</subfield><subfield code="2">stub</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Hejlsberg, Anders</subfield><subfield code="d">1960-</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)107108299X</subfield><subfield code="4">aut</subfield></datafield><datafield tag="240" ind1="1" ind2="0"><subfield code="a">The C[#] programming language</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Die C[#]-Programmiersprache</subfield><subfield code="b">die vollständige Referenz ; [überarbeitet und aktualisiert auf C# 2.0]</subfield><subfield code="c">Anders Hejlsberg ; Scott Wiltamuth ; Peter Golde</subfield></datafield><datafield tag="246" ind1="1" ind2="3"><subfield code="a">Die C-sharp-Programmiersprache</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">2. Aufl.</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">München[ u.a.]</subfield><subfield code="b">Addison-Wesley</subfield><subfield code="c">2007</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">739 S.</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="490" ind1="0" ind2=" "><subfield code="a">Microsoft .NET development series</subfield></datafield><datafield tag="500" ind1=" " ind2=" "><subfield code="a">Titel eigentlich: Die C#-Programmiersprache. #-Zeichen blockiert Dublettenkontrolle. - Wird vom Verl. auch als Teil eines 5-Bände-Sets vertrieben u.d.T.: Die Microsoft .NET-Bibliothek (ISBN 978-3-8273-2520-4)</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">C sharp 4.0</subfield><subfield code="0">(DE-588)7683323-9</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">C sharp</subfield><subfield code="0">(DE-588)4616843-6</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">C sharp 2.0</subfield><subfield code="0">(DE-588)4823912-4</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">C sharp 2.0</subfield><subfield code="0">(DE-588)4823912-4</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="689" ind1="1" ind2="0"><subfield code="a">C sharp</subfield><subfield code="0">(DE-588)4616843-6</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="1" ind2=" "><subfield code="8">1\p</subfield><subfield code="5">DE-604</subfield></datafield><datafield tag="689" ind1="2" ind2="0"><subfield code="a">C sharp 4.0</subfield><subfield code="0">(DE-588)7683323-9</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="2" ind2=" "><subfield code="8">2\p</subfield><subfield code="5">DE-604</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Wiltamuth, Scott</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Golde, Peter</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">Digitalisierung UB Augsburg</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=015034831&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="883" ind1="1" ind2=" "><subfield code="8">1\p</subfield><subfield code="a">cgwrk</subfield><subfield code="d">20201028</subfield><subfield code="q">DE-101</subfield><subfield code="u">https://d-nb.info/provenance/plan#cgwrk</subfield></datafield><datafield tag="883" ind1="1" ind2=" "><subfield code="8">2\p</subfield><subfield code="a">cgwrk</subfield><subfield code="d">20201028</subfield><subfield code="q">DE-101</subfield><subfield code="u">https://d-nb.info/provenance/plan#cgwrk</subfield></datafield><datafield tag="943" ind1="1" ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-015034831</subfield></datafield></record></collection> |
id | DE-604.BV021822711 |
illustrated | Not Illustrated |
index_date | 2024-07-02T15:54:45Z |
indexdate | 2024-07-20T08:38:15Z |
institution | BVB |
isbn | 9783827325204 382732436X 9783827324368 9783827326140 |
language | German English |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-015034831 |
oclc_num | 162223823 |
open_access_boolean | |
owner | DE-12 DE-91G DE-BY-TUM DE-29T DE-824 DE-20 DE-M347 DE-384 DE-1046 DE-573 DE-634 DE-83 DE-11 |
owner_facet | DE-12 DE-91G DE-BY-TUM DE-29T DE-824 DE-20 DE-M347 DE-384 DE-1046 DE-573 DE-634 DE-83 DE-11 |
physical | 739 S. |
publishDate | 2007 |
publishDateSearch | 2007 |
publishDateSort | 2007 |
publisher | Addison-Wesley |
record_format | marc |
series2 | Microsoft .NET development series |
spelling | Hejlsberg, Anders 1960- Verfasser (DE-588)107108299X aut The C[#] programming language Die C[#]-Programmiersprache die vollständige Referenz ; [überarbeitet und aktualisiert auf C# 2.0] Anders Hejlsberg ; Scott Wiltamuth ; Peter Golde Die C-sharp-Programmiersprache 2. Aufl. München[ u.a.] Addison-Wesley 2007 739 S. txt rdacontent n rdamedia nc rdacarrier Microsoft .NET development series Titel eigentlich: Die C#-Programmiersprache. #-Zeichen blockiert Dublettenkontrolle. - Wird vom Verl. auch als Teil eines 5-Bände-Sets vertrieben u.d.T.: Die Microsoft .NET-Bibliothek (ISBN 978-3-8273-2520-4) C sharp 4.0 (DE-588)7683323-9 gnd rswk-swf C sharp (DE-588)4616843-6 gnd rswk-swf C sharp 2.0 (DE-588)4823912-4 gnd rswk-swf C sharp 2.0 (DE-588)4823912-4 s DE-604 C sharp (DE-588)4616843-6 s 1\p DE-604 C sharp 4.0 (DE-588)7683323-9 s 2\p DE-604 Wiltamuth, Scott Verfasser aut Golde, Peter Verfasser aut Digitalisierung UB Augsburg application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=015034831&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis 1\p cgwrk 20201028 DE-101 https://d-nb.info/provenance/plan#cgwrk 2\p cgwrk 20201028 DE-101 https://d-nb.info/provenance/plan#cgwrk |
spellingShingle | Hejlsberg, Anders 1960- Wiltamuth, Scott Golde, Peter Die C[#]-Programmiersprache die vollständige Referenz ; [überarbeitet und aktualisiert auf C# 2.0] C sharp 4.0 (DE-588)7683323-9 gnd C sharp (DE-588)4616843-6 gnd C sharp 2.0 (DE-588)4823912-4 gnd |
subject_GND | (DE-588)7683323-9 (DE-588)4616843-6 (DE-588)4823912-4 |
title | Die C[#]-Programmiersprache die vollständige Referenz ; [überarbeitet und aktualisiert auf C# 2.0] |
title_alt | The C[#] programming language Die C-sharp-Programmiersprache |
title_auth | Die C[#]-Programmiersprache die vollständige Referenz ; [überarbeitet und aktualisiert auf C# 2.0] |
title_exact_search | Die C[#]-Programmiersprache die vollständige Referenz ; [überarbeitet und aktualisiert auf C# 2.0] |
title_exact_search_txtP | Die C[#]-Programmiersprache die vollständige Referenz ; [überarbeitet und aktualisiert auf C# 2.0] |
title_full | Die C[#]-Programmiersprache die vollständige Referenz ; [überarbeitet und aktualisiert auf C# 2.0] Anders Hejlsberg ; Scott Wiltamuth ; Peter Golde |
title_fullStr | Die C[#]-Programmiersprache die vollständige Referenz ; [überarbeitet und aktualisiert auf C# 2.0] Anders Hejlsberg ; Scott Wiltamuth ; Peter Golde |
title_full_unstemmed | Die C[#]-Programmiersprache die vollständige Referenz ; [überarbeitet und aktualisiert auf C# 2.0] Anders Hejlsberg ; Scott Wiltamuth ; Peter Golde |
title_short | Die C[#]-Programmiersprache |
title_sort | die c programmiersprache die vollstandige referenz uberarbeitet und aktualisiert auf c 2 0 |
title_sub | die vollständige Referenz ; [überarbeitet und aktualisiert auf C# 2.0] |
topic | C sharp 4.0 (DE-588)7683323-9 gnd C sharp (DE-588)4616843-6 gnd C sharp 2.0 (DE-588)4823912-4 gnd |
topic_facet | C sharp 4.0 C sharp C sharp 2.0 |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=015034831&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT hejlsberganders thecprogramminglanguage AT wiltamuthscott thecprogramminglanguage AT goldepeter thecprogramminglanguage AT hejlsberganders diecprogrammiersprachedievollstandigereferenzuberarbeitetundaktualisiertaufc20 AT wiltamuthscott diecprogrammiersprachedievollstandigereferenzuberarbeitetundaktualisiertaufc20 AT goldepeter diecprogrammiersprachedievollstandigereferenzuberarbeitetundaktualisiertaufc20 AT hejlsberganders diecsharpprogrammiersprache AT wiltamuthscott diecsharpprogrammiersprache AT goldepeter diecsharpprogrammiersprache |