C# 8 mit Visual Studio 2019: das umfassende Handbuch
Gespeichert in:
Vorheriger Titel: | Kühnel, Andreas C# 6 mit Visual Studio 2015 |
---|---|
1. Verfasser: | |
Format: | Buch |
Sprache: | German |
Veröffentlicht: |
Bonn
Rheinwerk Verlag
2019
|
Ausgabe: | 8., aktualisierte Auflage |
Schriftenreihe: | Rheinwerk Computing
|
Schlagworte: | |
Online-Zugang: | Inhaltstext Inhaltsverzeichnis |
Beschreibung: | Auf dem Cover: "Spracheinführung, Objektorientierung, Programmiertechniken ; LINQ, Task Parallel Library (TPL), Komponententests (Unit-Tests) ; Windows Presentation Foundation (WPF), Entity Framework" |
Beschreibung: | 1478 Seiten Illustrationen, Diagramme 24 cm x 19 cm |
ISBN: | 9783836264587 3836264587 |
Internformat
MARC
LEADER | 00000nam a22000008c 4500 | ||
---|---|---|---|
001 | BV045937759 | ||
003 | DE-604 | ||
005 | 20210615 | ||
007 | t | ||
008 | 190617s2019 gw a||| |||| 00||| ger d | ||
015 | |a 19,N14 |2 dnb | ||
016 | 7 | |a 1181888840 |2 DE-101 | |
020 | |a 9783836264587 |c : EUR 49.90 (DE), EUR 51.30 (AT), CHF 63.90 (freier Preis) |9 978-3-8362-6458-7 | ||
020 | |a 3836264587 |9 3-8362-6458-7 | ||
024 | 3 | |a 9783836264587 | |
035 | |a (OCoLC)1112133935 | ||
035 | |a (DE-599)DNB1181888840 | ||
040 | |a DE-604 |b ger |e rda | ||
041 | 0 | |a ger | |
044 | |a gw |c XA-DE-NW | ||
049 | |a DE-20 |a DE-19 |a DE-29T |a DE-2174 |a DE-859 |a DE-860 |a DE-523 |a DE-Aug4 |a DE-634 |a DE-91G |a DE-573 |a DE-1050 |a DE-703 |a DE-898 |a DE-862 |a DE-473 |a DE-1102 |a DE-1043 | ||
084 | |a ST 250 |0 (DE-625)143626: |2 rvk | ||
084 | |a 004 |2 sdnb | ||
084 | |a DAT 358f |2 stub | ||
100 | 1 | |a Kühnel, Andreas |e Verfasser |0 (DE-588)1028663412 |4 aut | |
245 | 1 | 0 | |a C# 8 mit Visual Studio 2019 |b das umfassende Handbuch |c Andreas Kühnel |
246 | 1 | 3 | |a C # 8 mit Visual Studio 2019 |
246 | 1 | 3 | |a C# acht mit Visual Studio 2019 |
246 | 1 | 3 | |a C sharp acht mit Visual Studio zweitausendneunzehn |
250 | |a 8., aktualisierte Auflage | ||
264 | 1 | |a Bonn |b Rheinwerk Verlag |c 2019 | |
300 | |a 1478 Seiten |b Illustrationen, Diagramme |c 24 cm x 19 cm | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
490 | 0 | |a Rheinwerk Computing | |
500 | |a Auf dem Cover: "Spracheinführung, Objektorientierung, Programmiertechniken ; LINQ, Task Parallel Library (TPL), Komponententests (Unit-Tests) ; Windows Presentation Foundation (WPF), Entity Framework" | ||
650 | 0 | 7 | |a C sharp 8.0 |0 (DE-588)1193260566 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Visual C sharp.NET |0 (DE-588)4682222-7 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a C sharp |0 (DE-588)4616843-6 |2 gnd |9 rswk-swf |
650 | 0 | 4 | |a Visual Studio 2015 |9 rswk-swf |
650 | 0 | 7 | |a Visual Studio 2019 |0 (DE-588)1193260337 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Objektorientierte Programmierung |0 (DE-588)4233947-9 |2 gnd |9 rswk-swf |
650 | 0 | 4 | |a C sharp 6.0 |9 rswk-swf |
650 | 0 | 7 | |a C sharp 6.0 |0 (DE-588)1078640599 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Visual Studio 2015 |0 (DE-588)107560480X |2 gnd |9 rswk-swf |
653 | |a C-Sharp | ||
653 | |a Programmierung Programmieren Entwickeln | ||
653 | |a Software-Entwicklung | ||
653 | |a MVVM View-Model Entity Framework | ||
653 | |a WPF Windows Presentation Foundation | ||
653 | |a DOTNET | ||
653 | |a ADO.NET | ||
653 | |a Computing | ||
653 | |a Hand-Buch Bücher lernen Grundlagen Kurse Workshops Tutorials Wissen Training Ausbildung Einführung | ||
689 | 0 | 0 | |a Visual Studio 2019 |0 (DE-588)1193260337 |D s |
689 | 0 | |5 DE-604 | |
689 | 1 | 0 | |a C sharp 8.0 |0 (DE-588)1193260566 |D s |
689 | 1 | |5 DE-604 | |
689 | 2 | 0 | |a Visual Studio 2015 |0 (DE-588)107560480X |D s |
689 | 2 | 1 | |a C sharp 6.0 |0 (DE-588)1078640599 |D s |
689 | 2 | |8 1\p |5 DE-604 | |
689 | 3 | 0 | |a Visual Studio 2015 |A s |
689 | 3 | 1 | |a C sharp 6.0 |A s |
689 | 3 | |8 2\p |5 DE-604 | |
689 | 4 | 0 | |a Visual C sharp.NET |0 (DE-588)4682222-7 |D s |
689 | 4 | |8 3\p |5 DE-604 | |
689 | 5 | 0 | |a Objektorientierte Programmierung |0 (DE-588)4233947-9 |D s |
689 | 5 | |8 4\p |5 DE-604 | |
689 | 6 | 0 | |a C sharp |0 (DE-588)4616843-6 |D s |
689 | 6 | |8 5\p |5 DE-604 | |
710 | 2 | |a Galileo Press |0 (DE-588)1065964404 |4 pbl | |
780 | 0 | 0 | |i Vorangegangen ist |a Kühnel, Andreas |t C# 6 mit Visual Studio 2015 |z 9783836237147 |w (DE-604)BV042873529 |
856 | 4 | 2 | |m X:MVB |q text/html |u http://deposit.dnb.de/cgi-bin/dokserv?id=e1fcbb57e053475991d0be35740eb378&prov=M&dok_var=1&dok_ext=htm |3 Inhaltstext |
856 | 4 | 2 | |m DNB Datenaustausch |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=031320070&sequence=000001&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 | |
883 | 1 | |8 3\p |a cgwrk |d 20201028 |q DE-101 |u https://d-nb.info/provenance/plan#cgwrk | |
883 | 1 | |8 4\p |a cgwrk |d 20201028 |q DE-101 |u https://d-nb.info/provenance/plan#cgwrk | |
883 | 1 | |8 5\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-031320070 |
Datensatz im Suchindex
DE-BY-862_location | 2000 |
---|---|
DE-BY-FWS_call_number | 2000/ST 250 C01 K95(8) |
DE-BY-FWS_katkey | 847845 |
DE-BY-FWS_media_number | 083000508538 |
_version_ | 1824556075556274176 |
adam_text |
INHALT
MATERIALIEN
ZUM
BUCH
.
32
VORWORT
ZUR
8.
AUFLAGE
.
34
1
ALLGEMEINE
EINFUEHRUNG
IN
.NET
37
1.1
WARUM
.NET?
.
37
1.1.1
DIEZUKUNFTVON.NET
.
39
1.1.2
EIN
PAAR
WORTE
ZU
DIESEM
BUCH
.
40
1.1.3
DIE
BEISPIELPROGRAMME
.
42
1.2
.NET
UNTER
DIE
LUPE
GENOMMEN
.
43
1.2.1
DAS
ENTWICKLERDILEMMA
.
43
1.2.2
.NET
-
EIN
PAAR
ALLGEMEINE
EIGENSCHAFTEN
.
44
1.2.3
DAS
SPRACHENKONZEPT
.
45
1.2.4
DIE
COMMON
LANGUAGE
SPECIFICATION
(CLS)
.
47
1.2.5
DAS
COMMON
TYPE
SYSTEM
(CTS)
.
48
1.2.6
DAS
.NET
FRAMEWORK
.
49
1.2.7
DIE
COMMON
LANGUAGE
RUNTIME
(CLR)
.
50
1.2.8
DIE.NET-KLASSENBIBLIOTHEK
.
51
1.2.9
DAS
KONZEPT
DER
NAMESPACES
.
52
1.3
ASSEMBLIES
.
53
1.3.1
DIE
METADATEN
.
54
1.3.2
DAS
MANIFEST
.
55
1.4
DIE
ENTWICKLUNGSUMGEBUNG
.
55
1.4.1
EDITIONEN
VON
VISUAL
STUDIO
2019
.
56
1.4.2
HARD-
UND
SOFTWAREANFORDERUNGEN
.
56
1.4.3
DIE
INSTALLATION
.
57
1.4.4
DIE
ENTWICKLUNGSUMGEBUNG
VON
VISUAL
STUDIO
2019
.
59
2
GRUNDLAGEN
DER
SPRACHE
C#
65
2.1
KONSOLENANWENDUNGEN
.
65
2.1.1
ALLGEMEINE
ANMERKUNGEN
.
65
2.1.2
EIN
ERSTES
KONSOLENPROGRAMM
.
65
5
2.2
GRUNDLAGEN
DER
2.2.1
KENNZEICHNEN,
DASS
EINE
ANWEISUNG
ABGESCHLOSSEN
IST
70
2.2.2
ANWEISUNGS-
UND
GLIEDERUNGSBLOECKE
71
2.2.3
KOMMENTARE
72
2.2.4
DIE
GROSS-
UND
KLEINSCHREIBUNG
73
2.2.5
DIE
STRUKTUR
EINER
KONSOLENANWENDUNG
73
2.3
VARIABLEN
UND
DATENTYPEN
75
2.3.1
VARIABLENDEKIARATION
75
2.3.2
DER
VARIABIENBEZEICHNER
76
2.3.3
DER
ZUGRIFF
AUF
EINE
VARIABLE
77
2.3.4
EIN-UND
AUSGABEMETHODEN
DER
KLASSE
CONSOLE
77
2.3.5
DIE
ELEMENTAREN
DATENTYPEN
VON
.NET
83
2.3.6
AUSGABE
GANZZAHLIGER
DATENTYPEN
89
2.3.7
ELEMENTARE
TYPKONVERTIERUNG
90
2.4
OPERATOREN
^
7
2.4.1
ARITHMETISCHE
OPERATOREN
98
2.4.2
VERGLEICHSOPERATOREN
191
2.4.3
LOGISCHE
OPERATOREN
19
2
2.4.4
BITWEISE
OPERATOREN
105
2.4.5
ZUWEISUNGSOPERATOREN
I
98
2.4.6
STRINGVERKETTUNG
108
2.4.7
SONSTIGE
OPERATOREN
1"
2.4.8
OPERATOR-VORRANGREGELN
109
2.5
DATENFELDER
(ARRAYS)
HO
2.5.1
DIE
DEKLARATION
UND
INITIALISIERUNG
EINES
ARRAYS
110
2.5.2
DER
ZUGRIFF
AUF
DIE
ARRAY-ELEMENTE
112
2.5.3
MEHRDIMENSIONALE
ARRAYS
113
2.5.4
FESTLEGEN
DER
ARRAY-GROESSE
ZUR
LAUFZEIT
114
2.5.5
BESTIMMUNG
DER
ARRAY-OBERGRENZE
116
2.5.6
DIE
GESAMTANZAHL
DER
ARRAY-ELEMENTE
116
2.5.7
VERZWEIGTE
ARRAYS
117
2.6
KONTROLLSTRUKTUREN
118
2.6.1
DIE
IF-ANWEISUNG
119
2.6.2
DAS
SWITCH-STATEMENT
124
2.7
PROGRAMMSCHLEIFEN
129
2.7.1
DIE
FOR-SCHLEIFE
129
2.7.2
DIE
FOREACH-SCHLEIFE
140
2.7.3
DIE
DO-
UND
DIE
WHILE-SCHLEIFE
141
6
3
DAS
KLASSENDESIGN
145
3.1
EINFUEHRUNG
IN
DIE
OBJEKTORIENTIERUNG.
145
3.2
DIE
KLASSENDEFINITION
.
148
3.2.1
KLASSEN
IN
VISUAL
STUDIO
ANLEGEN
.
148
3.2.2
DAS
PROJEKT
GEOMETRICOBJECTSSOLUTION
.
149
3.2.3
DIE
DEKLARATION
VON
OBJEKTVARIABLEN
.
151
3.2.4
ZUGRIFFSMODIFIZIERER
EINER
KLASSE
.
152
3.2.5
SPLITTEN
EINER
KLASSENDEFINITION
MIT
PARTIAL
.
152
3.2.6
ARBEITEN
MIT
OBJEKTREFERENZEN
.
153
3.3
REFERENZ-
UND
WERTETYPEN
.
155
3.3.1
WERTE-
UND
REFERENZTYPEN
NUTZEN
.
156
3.4
DIE
EIGENSCHAFTEN
EINES
OBJEKTS
.
157
3.4.1
OEFFENTLICHE
FELDER
.
157
3.4.2
DATENKAPSELUNG
MIT
EIGENSCHAFTSMETHODEN
(PROPERTIES)
.
158
3.4.3
AUTO-PROPERTIES
(AUTOMATISCH
IMPLEMENTIERTE
PROPERTIES)
.
162
3.4.4
UNTERSTUETZUNG
VON
VISUAL
STUDIO
.
164
3.5
METHODEN
EINES
OBJEKTS
.
164
3.5.1
METHODEN
MIT
RUECKGABEWERT
.
164
3.5.2
METHODEN
OHNE
RUECKGABEWERT
.
168
3.5.3
METHODEN
MIT
PARAMETERLISTE
.
169
3.5.4
METHODENUEBERLADUNG
.
171
3.5.5
VARIABLEN
INNERHALB
EINER
METHODE
(LOKALE
VARIABLEN)
.
173
3.5.6
MODIFIZIEREREINESPARAMETERS
.
175
3.5.7
BESONDERE
ASPEKTE
EINER
PARAMETERLISTE
.
181
3.5.8
ZUGRIFF
AUF
PRIVATE
DATEN
.
186
3.5.9
DIE
TRENNUNG
VON
DATEN
UND
CODE
.
187
3.5.10
NAMENSKONFLIKTE
MIT
THIS
LOESEN
.
188
3.5.11
METHODE
ODER
EIGENSCHAFT?
.
189
3.5.12
UMBENENNEN
VON
METHODEN
UND
EIGENSCHAFTEN
.
191
3.6
KONSTRUKTOREN
.
191
3.6.1
KONSTRUKTOREN
BEREITSTELLEN
.
192
3.6.2
DIE
KONSTRUKTORAUFRUFE
.
193
3.6.3
DEFINITION
VON
KONSTRUKTOREN
.
194
3.6.4
PUBLIC-
UND
INTERNAL-KONSTRUKTOREN
.
194
3.6.5
PRIVATE-KONSTRUKTOREN
.
195
3.6.6
KONSTRUKTORAUFRUFE
UMLEITEN
.
195
3.6.7
VEREINFACHTE
OBJEKTINITIALISIERUNG
.
197
3.7
DER
DESTRUKTOR
.
198
7
3.8
KONSTANTEN
IN
EINER
KLASSE
.
199
3.8.1
KONSTANTEN
MIT
DEM
SCHLUESSELWORT
CONST
.
199
3.8.2
SCHREIBGESCHUETZTE
FELDER
MIT
READONLY
.
199
3.9
STATISCHE
KLASSENKOMPONENTEN
.
200
3.9.1
STATISCHE
EIGENSCHAFTEN
.
200
3.9.2
STATISCHE
METHODEN
.
202
3.9.3
STATISCHE
KLASSENINITIALISIERER
.
204
3.9.4
STATISCHE
KLASSEN
.
204
3.9.5
STATISCHE
KLASSE
ODER
SINGLETON-PATTERN?
.
205
3.10
NAMENSRAEUME
(NAMESPACES)
.
207
3.10.1
ZUGRIFF
AUF
NAMESPACES
.
208
3.10.2
DIE
USING-DIREKTIVE
.
210
3.10.3
GLOBALER
NAMESPACE
.
210
3.10.4
VERMEIDEN
VON
MEHRDEUTIGKEITEN
.
210
3.10.5
NAMESPACES
FESTLEGEN
.
211
3.10.6
DER
::-OPERATOR
.
213
3.10.7
UNTERSTUETZUNG
VON
VISUAL
STUDIO
BEI
DEN
NAMESPACES
.
215
3.10.8
DIE
DIREKTIVE
USING
STATIC
.
216
3.11
AKTUELLER
STAND
DER
KLASSE
CIRCLE
.
217
4
VERERBUNG,
POLYMORPHIE
UND
INTERFACES
221
4.1
DIE
VERERBUNG
.
221
4.1.1
DIE
ABLEITUNG
EINER
KLASSE
.
222
4.1.2
KLASSEN,
DIE
NICHT
ABGELEITET
WERDEN
KOENNEN
.
224
4.1.3
KONSTRUKTOREN
IN
ABGELEITETEN
KLASSEN
.
225
4.1.4
DER
ZUGRIFFSMODIFIZIERER
PROTECTED
.
226
4.1.5
DIE
KONSTRUKTORVERKETTUNG
IN
DER
VERERBUNG
.
227
4.2
DER
PROBLEMFALL
GEERBTER
METHODEN
.
230
4.2.1
GEERBTE
METHODEN
MIT
NEW
VERDECKEN
.
232
4.2.2
ABSTRAKTE
METHODEN
.
234
4.2.3
VIRTUELLE
METHODEN
.
236
4.3
TYPKONVERTIERUNG
UND
TYPUNTERSUCHUNG
VON
OBJEKTVARIABLEN
.
237
4.3.1
DIE
IMPLIZITE
TYPKONVERTIERUNG
VON
OBJEKTREFERENZEN
.
237
4.3.2
DIE
EXPLIZITE
TYPKONVERTIERUNG
VON
OBJEKTREFERENZEN
.
239
4.3.3
TYPUNTERSUCHUNG
MIT
DEM
IS-OPERATOR
.
240
4.3.4
TYPKONVERTIERUNG
MIT
DEM
AS-OPERATOR
.
241
4.3.5
PATTERN
MATCHING
(MUSTERABGLEICH)
MIT
DEM
IS-OPERATOR
.
242
8
4.4
POLYMORPHIE
.
243
4.4.1
DIE
KLASSISCHE
METHODENIMPLEMENTIERUNG
.
244
4.4.2
ABSTRAKTE
METHODEN
.
245
4.4.3
VIRTUELLE
METHODEN
.
246
4.5
WEITERE
GESICHTSPUNKTE
DER
VERERBUNG
.
250
4.5.1
VERSIEGELTE
METHODEN
.
250
4.5.2
UEBERLADEN
EINER
BASISKLASSENMETHODE
.
251
4.5.3
STATISCHE
MEMBER
UND
VERERBUNG
.
252
4.5.4
GEERBTE
METHODEN
AUSBLENDEN?
.
252
4.6
DAS
PROJEKT
GEOMETRICOBJECTSSOLUTION
ERGAENZEN
.
253
4.6.1
DIE
KLASSE
GEOMETRICOBJECT
.
254
4.7
EINGEBETTETE
KLASSEN
.
257
4.8
INTERFACES
(SCHNITTSTELLEN)
.
258
4.8.1
EINFUEHRUNG
IN
DIE
SCHNITTSTELLEN
.
258
4.8.2
DIE
SCHNITTSTELLENDEFINITION
.
258
4.8.3
DIE
SCHNITTSTELLENIMPLEMENTIERUNG
.
259
4.8.4
DIE
INTERPRETATION
DER
SCHNITTSTELLEN
.
265
4.8.5
SORTIEREN
IM
BEISPIEL
GEOMETRICOBJECTSSOLUTION
.
270
4.8.6
WEITERE
ANPASSUNGEN
AM
PROJEKT
GEOMETRICOBJECTSSOLUTION
.
272
4.9
DAS
ZERSTOEREN
VON
OBJEKTEN
-
DER
GARBAGE
COLLECTOR
.
273
4.9.1
DIE
ARBEITSWEISE
DES
GARBAGE
COLLECTORS
.
273
4.9.2
EXPLIZITER
AUFRUF
DES
GARBAGE
COLLECTORS
.
275
4.9.3
DER
DESTRUKTOR
.
276
4.9.4
DIE
IDISPOSABLE-SCHNITTSTELLE
.
277
4.9.5
DIE
USING-ANWEISUNG
ZUM
ZERSTOERUNG
VON
OBJEKTEN
.
279
4.10
DIE
ERGAENZUNGEN
IN
DEN
KLASSEN
CIRCLE
UND
RECTANGLE
.
280
5
DELEGATEN,
EREIGNISSE
UND
LAMBDA-AUSDRUECKE
283
5.1
DELEGATEN
.
283
5.1.1
EINFUEHRUNG
IN
DAS
PRINZIP
DER
DELEGATEN
.
283
5.1.2
VERWENDUNG
VON
DELEGATEN
.
288
5.1.3
VEREINFACHTER
DELEGATENAUFRUF
.
288
5.1.4
MULTICAST-DELEGATEN
.
288
5.1.5
KOVARIANZ
UND
KONTRAVARIANZ
MIT
DELEGATEN
.
290
5.2
EREIGNISSE
EINES
OBJEKTS
.
293
5.2.1
EREIGNISSE
BEREITSTELLEN
.
294
9
5.2.2
DIE
REAKTION
AUF
EIN
AUSGELOESTES
EREIGNIS
.
297
5.2.3
ALLGEMEINE
BETRACHTUNGEN
DER
EREIGNISHANDLER-REGISTRIERUNG
.
299
5.2.4
WENN
DER
EREIGNISEMPFAENGER
EIN
EREIGNIS
NICHT
BEHANDELT
.
300
5.2.5
EREIGNISSE
MIT
UEBERGABEPARAMETER
.
302
5.2.6
EREIGNISSE
IN
DER
VERERBUNG
.
306
5.2.7
EIN
BLICK
HINTER
DIE
KULISSEN
DES
SCHLUESSELWORTS
EVENT
.
307
5.2.8
DIE
SCHNITTSTELLE
INOTIFYPROPERTYCHANGED
.
308
5.3
LAMBDA-AUSDRUECKE
.
310
5.3.1
ANONYME
METHODEN
.
310
5.3.2
LAMBDA-AUSDRUECKE
.
311
5.3.3
EXPRESSION-BODIED
MEMBER
.
313
5.4
AENDERUNGEN
IM
PROJEKT
GEOMETRICOBJECTSSOLUTION
.
314
5.4.1
UEBERARBEITUNG
DES
EVENTS
INVALIDMEASURE
.
314
5.4.2
WEITERE
EREIGNISSE
IM
PROJEKT
GEOMETRICOBJECTS
.
315
6
STRUKTUREN
UND
ENUMERATIONEN
319
6.1
STRUKTUREN
-
EINE
SONDERFORM
DER
KLASSEN
.
319
6.1.1
DIE
DEFINITION
EINER
STRUKTUR
.
319
6.1.2
INITIALISIEREN
EINER
STRUKTURVARIABLEN
.
320
6.1.3
KONSTRUKTOREN
IN
STRUKTUREN
.
321
6.1.4
AENDERUNGEN
IM
PROJEKT
GEOMETRICOBJECTSSOLUTION
.
322
6.2
ENUMERATIONEN
(AUFZAEHLUNGEN).
325
6.2.1
WERTZUWEISUNG
AN
ENUM-VARIABLEN
.
327
6.2.2
ALLE
MITGLIEDER
EINER
AUFZAEHLUNG
DURCHLAUFEN
.
327
6.3
BOXING
UND
UNBOXING
.
328
7
FEHLERBEHANDLUNG
UND
DEBUGGING
331
7.1
LAUFZEITFEHLER
ERKENNEN
.
332
7.1.1
DIE
TRY
.
CATCH-ANWEISUNG
.
334
7.1.2
BEHANDLUNG
MEHRERER
EXCEPTIONS
.
336
7.1.3
DIE
REIHENFOLGE
DER
CATCH-ZWEIGE
.
339
7.1.4
AUSNAHMEN
IN
EINER
METHODENAUFRUFKETTE
.
339
7.1.5
AUSNAHMEN
WERFEN
ODER
WEITERLEITEN
.
340
7.1.6
DIE
FINALLY-ANWEISUNG
.
340
7.1.7
AUSNAHMEFILTER
.
342
10
7.1.8
DIE
KLASSE
EXCEPTION
.
343
7.1.9
BENUTZERDEFINIERTE
AUSNAHMEN
.
349
7.2
DEBUGGEN
MIT
PROGRAMMCODE
.
355
7.2.1
EINFUEHRUNG
.
355
7.2.2
DIE
KLASSE
DEBUG
.
356
7.2.3
DIE
KLASSE
TRACE
.
359
7.2.4
BEDINGTE
KOMPILIERUNG
.
360
7.3
FEHLERSUCHE
MIT
VISUAL
STUDIO
.
363
7.3.1
DEBUGGEN
IM
HALTEMODUS
.
363
7.3.2
WEITERE
ALTERNATIVEN, VARIABIENINHALTE
ZU
PRUEFEN
.
368
8
AUFLISTUNGSKLASSEN
(COLLECTIONS)
371
8.1
COLLECTIONS
IM
NAMESPACE
SYSTEM.COLLECTIONS
.
371
8.1.1
DIE
ELEMENTAREN
SCHNITTSTELLEN
DER
AUFLISTUNGSKLASSEN
.
373
8.2
DIE
KLASSE
ARRAYLIST
.
375
8.2.1
EINTRAEGE
HINZUFUEGEN
.
375
8.2.2
DATENAUSTAUSCH
ZWISCHEN
EINEM
ARRAY
UND
EINER
ARRAYLIST
.
378
8.2.3
DIE
ELEMENTE
EINER
ARRAYLIST
SORTIEREN
.
379
8.2.4
SORTIEREN
VON
ARRAYS
MIT
ARRAYLIST.ADAPTER
.
385
8.3
DIE
KLASSE
HASHTABLE.
387
8.3.1
METHODEN
UND
EIGENSCHAFTEN
DER
SCHNITTSTELLE
IDICTIONARY
.
387
8.3.2
BEISPIELPROGRAMM
ZUR
KLASSE
HASHTABLE
.
388
8.4
DIE
KLASSEN
QUEUE
UND
STACK
.
393
8.4.1
DIE
KLASSE
STACK
.
394
8.4.2
DIE
KLASSE
QUEUE
.
395
8.5
EIGENE
AUFLISTUNGEN
MIT
YIELD
DURCHLAUFEN.
396
9
GENERICS
-
GENERISCHE
DATENTYPEN
401
9.1
BEREITSTELLEN
EINER
GENERISCHEN
KLASSE
.
403
9.1.1
MEHRERE
GENERISCHE
TYPPARAMETER
.
405
9.1.2
VORTEILE
DER
GENERICS
.
405
9.2
BEDINGUNGEN
(CONSTRAINTS)
FESTLEGEN
.
406
9.2.1
CONSTRAINTS
MIT
DER
WHERE-KLAUSEL
FORMULIEREN
.
406
9.2.2
TYPPARAMETER
AUF
KLASSEN
ODER
STRUKTUREN
BESCHRAENKEN
.
407
11
9.23
MEHRERE
CONSTRAINTS
DEFINIEREN
.
408
9.2.4
DER
KONSTRUKTOR-CONSTRAINT
NEW()
.
408
9.2.5
DAS
SCHLUESSELWORT
DEFAULT
.
409
9.3
GENERISCHE
METHODEN
.
410
9.3.1
METHODEN
UND
CONSTRAINTS
.
411
9.4
GENERICS
UND
VERERBUNG
.
411
9.4.1
VIRTUELLE
GENERISCHE
METHODEN
.
412
9.5
TYPKONVERTIERUNG
VON
GENERICS
.
413
9.6
GENERISCHE
DELEGATEN
.
414
9.6.1
GENERISCHE
DELEGATEN
UND
CONSTRAINTS
.
415
9.7
NULLABLE-TYPEN.
415
9.7.1
KONVERTIERUNGEN
MIT
NULLABLE-TYPEN
MIT
DEM
??-OPERATOR
.
416
9.8
GENERISCHE
COLLECTIONS
.
417
9.8.1
DIE
INTERFACES
DER
GENERISCHEN
AUFLISTUNGSKLASSEN
.
417
9.8.2
DIE
GENERISCHE
AUFLISTUNGSKLASSE
LIST
T
.
418
9.8.3
VERGLEICHE
MIT
HILFE
DES
DELEGATEN
COMPARISON T
.
420
9.9
KOVARIANZ
UND
KONTRAVARIANZ
GENERISCHER
TYPEN
.
421
9.9.1
KOVARIANZ
MIT
INTERFACES
.
422
9.9.2
KONTRAVARIANZ
MIT
INTERFACES
.
424
9.9.3
ZUSAMMENFASSUNG
.
425
9.9.4
GENERISCHE
DELEGATEN
MIT
VARIANTEN
TYPPARAMETERN
.
426
9.10
ERGAENZUNGEN
IM
BEISPIELPROJEKT
GEOMETRICOBJECTSSOLUTION
.
426
10
WEITERE
C#-SPRACHFEATURES
429
10.1
IMPLIZIT
TYPISIERTE
VARIABLEN
.
429
10.2
ANONYME
TYPEN
.
430
10.3
ERWEITERUNGSMETHODEN.
431
10.3.1
DIE
PRIORITAETSREGELN
.
432
10.3.2
GENERISCHE
ERWEITERUNGSMETHODEN
.
434
10.3.3
RICHTLINIEN
FUER
ERWEITERUNGSMETHODEN
.
435
10.4
SPEZIELLE
METHODEN
.
435
10.4.1
PARTIELLE
METHODEN
.
436
10.4.2
LOKALE
FUNKTIONEN
.
439
12
10.5
OPERATORUEBERLADUNG.
442
10.5.1
EINFUEHRUNG
.
442
10.5.2
DIE
SYNTAX
DER
OPERATORUEBERLADUNG
.
442
10.5.3
DIE
OPERATORUEBERLADUNGEN
IM
PROJEKT
GEOMETRICOBJECTSSOLUTION
.
444
10.5.4
BENUTZERDEFINIERTE
TYPKONVERTIERUNG
.
449
10.6
NULLABLE-REFERENZTYPEN
.
452
10.6.1
NULLABLE-REFERENZTYPEN
IM
BEISPIEL
GEOMETRICOBJECTS
.
455
10.7
INDEXER
.
459
10.7.1
UEBERLADEN
VON
INDEXERN
.
461
10.7.2
PARAMETERBEHAFTETE
EIGENSCHAFTEN
.
463
10.8
ATTRIBUTE
.
466
10.8.1
DAS
FLAGS-ATTRIBUT
.
468
10.8.2
BENUTZERDEFINIERTE
ATTRIBUTE
.
471
10.8.3
ATTRIBUTE
AUSWERTEN
.
475
10.8.4
FESTLEGEN
DER
ASSEMBLY-EIGENSCHAFTEN
IN
ASSEMBLYLNFO.ES.
477
10.9
DER
BEDINGTE
NULL-OPERATOR
.
479
10.10
DER
NAMEOF-OPERATOR
.
480
10.10.1
EINSATZ
IN
DER
ANWENDUNG
GEOMETRICOBJECTS
.
481
10.11
DYNAMISCHES
BINDEN
.
482
10.11.1
EINE
KURZE
ANALYSE
.
483
10.11.2
DYNAMISCHE
OBJEKTE
.
484
10.12
TUPEL
.
485
10.12.1
BENANNTE
UND
UNBENANNTE
TUPEL
.
487
10.12.2
ZUWEISUNGSOPERATIONEN
.
488
10.12.3
PROJEKTIONSINITIALISIERER
.
488
10.12.4
TUPELVERGLEICHE
MIT
==
UND
!=
.
489
10.12.5
TUPEL
ALS
METHODENRUECKGABEWERTE
.
489
10.12.6
DEKONSTRUKTION
VON
TUPELN
.
490
10.12.7
EINZELNE
TUPELELEMENTE
AUSSCHLIESSEN
.
491
10.13
PATTERN
MATCHING
(MUSTERABGLEICH)
.
492
10.13.1
SWITCH
OHNE
CASE
.
494
10.14
RUECKGABEWERTE
MIT
REF
.
496
10.15
UNSICHERER
(UNSAFE)
PROGRAMMCODE
-
ZEIGERTECHNIK
IN
C#
.
498
10.15.1
EINFUEHRUNG
.
498
10.15.2
DAS
SCHLUESSELWORT
UNSAFE
.
499
10.15.3
DIE
DEKLARATION
VON
ZEIGERN
.
499
10.15.4
DIE
FIXED-ANWEISUNG
.
500
13
10.15.5
ZEIGERARITHMETIK
.
502
10.15.6
DER
OPERATOR
-
.
503
11
LINQ
-
LANGUAGE
INTEGRATED
QUERY
505
11.1
EINSTIEG
IN
LINQ?
.
505
11.1.1
VERZOEGERTE
AUSFUEHRUNG
.
507
11.1.2
LINQ-ERWEITERUNGSMETHODEN
AN
EINEM
BEISPIEL
.
507
11.2
LINQ
TO
OBJECTS.
511
11.2.1
MUSTERDATEN
.
511
11.2.2
DIE
ALLGEMEINE
LINQ-SYNTAX
.
513
11.3
DIE
ABFRAGEOPERATOREN.
515
11.3.1
UEBERSICHT
DER
ABFRAGEOPERATOREN
.
515
11.3.2
DIE
FROM-KLAUSEL
.
515
11.3.3
MIT
WHERE
FILTERN
.
517
11.3.4
DIE
PROJEKTIONSOPERATOREN
.
520
11.3.5
DIE
SORTIEROPERATOREN
.
521
11.3.6
GRUPPIEREN
MIT
GROUPBY
.
522
11.3.7
VERKNUEPFUNGEN
MIT
JOIN
.
524
11.3.8
DIE
SET-OPERATOREN-FAMILIE
.
527
11.3.9
DIE
FAMILIE
DER
AGGREGATOPERATOREN
.
529
11.3.10
QUANTIFIZIERUNGSOPERATOREN
.
532
11.3.11
AUFTEILUNGSOPERATOREN
.
533
11.3.12
DIE
ELEMENTOPERATOREN
.
535
11.3.13
DIE
KONVERTIERUNGSOPERATOREN
.
538
12
ARBEITEN
MIT
DATEIEN
UND
STREAMS
539
12.1
EINFUEHRUNG.
539
12.2
NAMESPACES
DER
EIN-
BZW.
AUSGABE
.
540
12.2.1
DAS
BEHANDELN
VON
AUSNAHMEN
BEI
E/A-OPERATIONEN
.
541
12.3
LAUFWERKE,
VERZEICHNISSE
UND
DATEIEN
.
541
12.3.1
DIE
KLASSE
FILE
.
542
12.3.2
DIE
KLASSE
FILEINFO
.
548
12.3.3
DIE
KLASSEN
DIRECTORY
UND
DIRECTORYINFO
.
550
12.3.4
DIE
KLASSE
PATH
.
555
12.3.5
DIE
KLASSE
DRIVEINFO
.
556
14
12.4
DIE
STREAM-KLASSEN
.
558
12.4.1
DIE
ABSTRAKTE
KLASSE
STREAM
.
559
12.4.2
DIE
VON
STREAM
ABGELEITETEN
KLASSEN
IM
UEBERBLICK
.
561
12.4.3
DIE
KLASSE
FILESTREAM
.
562
12.5
DIE
KLASSEN
TEXTREADER
UND
TEXTWRITER
.
569
12.5.1
DIE
KLASSE
STREAMWRITER
.
570
12.5.2
DIE
KLASSE
STREAMREADER
.
573
12.6
DIE
KLASSEN
BINARYREADER
UND
BINARYWRITER
.
575
12.6.1
KOMPLEXE
BINAERE
DATEIEN
.
578
13
SERIALISIERUNG
585
13.1
SERIALISIERUNGSVERFAHREN
.
586
13.2
BINAERE
SERIALISIERUNG
MIT
BINARYFORMATTER
.
587
13.2.1
DIE
DESERIALISIERUNG
.
589
13.2.2
SERIALISIERUNG
MEHRERER
OBJEKTE
.
591
13.3
SERIALISIERUNG
MIT
XMLSERIALIZER
.
593
13.3.1
XML-SERIALISIERUNG
MIT
ATTRIBUTEN
STEUERN
.
596
14
MULTITHREADING
599
14.1
EINFUEHRUNG
IN
DAS
MULTITHREADING
.
600
14.2
THREADS
-
ALLGEMEIN
BETRACHTET
.
601
14.3
MIT
DER
KLASSE
THREAD
ARBEITEN
.
603
14.3.1
DIE
ENTWICKLUNG
EINER
EINFACHEN
MULTITHREADING-ANWENDUNG
.
603
14.3.2
DER
DELEGAT
PARAMETERIZEDTHREADSTART
.
605
14.3.3
ZUGRIFFEINES
THREADS
AUF
SICH
SELBST
.
606
14.3.4
EINEN
THREAD
FUER
EINE
BESTIMMTE
ZEITDAUER
ANHALTEN
.
606
14.3.5
BEENDEN
EINES
THREADS
.
607
14.3.6
ABHAENGIGE
THREADS-DIE
METHODE
JOIN
.
609
14.3.7
THREADPRIORITAETEN
FESTLEGEN
.
611
14.3.8
VORDER-
UND
HINTERGRUNDTHREADS
.
614
14.4
DER
THREADPOOL
.
614
14.4.1
EIN
EINFACHES
BEISPIELPROGRAMM
.
615
15
14.5
SYNCHRONISATION
VON
THREADS
.
616
14.5.1
MOEGLICHKEITEN
DER
SYNCHRONISATION
.
618
14.5.2
DIE
KLASSE
WAITHANDLE
.
618
14.5.3
SPERREN
MIT
MONITOR
.
622
14.5.4
DIE
KLASSE
MUTEX
.
630
14.5.5
DIE
KLASSE
SEMAPHORE
.
632
14.5.6
DAS
ATTRIBUT
METHODLMPL
.
637
14.5.7
DIE
KLASSE
INTERLOCKED
.
637
14.5.8
SYNCHRONISATION
VON
THREADPOOL-THREADS
.
638
14.6
GRUNDLAGEN
ASYNCHRONER
METHODENAUFRUFE
.
639
14.6.1
ASYNCHRONER
METHODENAUFRUF
.
640
14.6.2
ASYNCHRONER
AUFRUF
MIT
RUECKGABEWERTEN
.
644
14.6.3
EINE
KLASSE
MIT
ASYNCHRONEN
METHODENAUFRUFEN
.
647
15
DIE
TASK
PARALLEL
LIBRARY
(TPL)
_
65I
15.1
DIE
WICHTIGSTEN
KLASSEN
DER
TPL
.
652
15.2
DIE
KLASSE
TASK
.
652
15.2.1
DIE
KONSTRUKTOREN
EINES
TASKS
.
653
15.2.2
DAS
ERZEUGEN
EINES
TASKS
.
655
15.2.3
TASKS
MIT
RUECKGABEWERT
.
656
15.2.4
DATEN
AN
EINEN
TASK
UEBERGEBEN
.
656
15.2.5
AUF
DAS
BEENDEN
EINES
TASKS
WARTEN
.
658
15.2.6
ABBRUCH
EINES
TASKS
VON
AUSSEN
.
659
15.2.7
BEI
ABBRUCH
EINE
CALLBACK-METHODE
AUFRUFEN
.
661
15.2.8
FEHLERBEHANDLUNG
.
662
15.3
DIE
KLASSE
PARALLEL
.
665
15.3.1
DIE
METHODE
PARALLEL.INVOKE
.
665
15.3.2
SCHLEIFEN
MIT
PARALLEL.FOR
.
666
15.3.3
DEN
GRAD
DER
PARALLELITAET
BEEINFLUSSEN
.
670
15.3.4
AUFLISTUNGEN
MIT
PARALLEL.FOREACH
DURCHLAUFEN
.
671
15.4
ASYNCHRONE
PROGRAMMIERUNG
MIT
ASYNC
UND
AWAIT
.
671
15.4.1
DIE
ARBEITSWEISE
VON
ASYNC
UND
AWAIT
VERSTEHEN
.
672
15.4.2
ASYNCHRONE
OPERATIONEN
MIT
RUECKGABEWERT
.
676
16
16
GRUNDLEGENDE
.NET-KLASSEN
679
16.1
DIE
KLASSE
OBJECT
.
679
16.1.1
REFERENZVERGLEICHE
MIT
EQUALS
UND
REFERENCEEQUALS
.
680
16.1.2
TOSTRING
UND
GETTYPE
.
681
16.1.3
DIE
METHODE
MEMBERWISECLONE
UND
DAS
PROBLEM
DES
KLONENS
.
681
16.2
DIE
KLASSE
STRING
.
685
16.2.1
DAS
ERZEUGEN
EINES
STRINGS
.
686
16.2.2
DIE
EIGENSCHAFTEN
VON
STRING
.
687
16.2.3
DIE
METHODEN
DER
KLASSE
STRING
.
687
16.2.4
ZUSAMMENFASSUNG
DER
KLASSE
STRING
.
697
16.3
DIE
KLASSE
STRINGBUILDER
.
699
16.3.1
DIE
KAPAZITAET
EINES
STRINGBUILDER-OBJEKTS
.
700
16.3.2
DIE
KONSTRUKTOREN
DER
KLASSE
STRINGBUILDER
.
701
16.3.3
DIE
EIGENSCHAFTEN
DER
KLASSE
STRINGBUILDER
.
701
16.3.4
DIE
METHODEN
DER
KLASSE
STRINGBUILDER
.
702
16.3.5
ALLGEMEINE
ANMERKUNGEN
.
704
16.4
DER
TYP
DATETIME
.
705
16.4.1
DIE
ZEITSPANNE
TICK
.
705
16.4.2
DIE
KONSTRUKTOREN
VON
DATETIME
.
706
16.4.3
DIE
EIGENSCHAFTEN
VON
DATETIME
.
707
16.4.4
DIE
METHODEN
DER
KLASSE
DATETIME
.
708
16.5
DIE
KLASSE
TIMESPAN.
709
16.6
AUSGABEFORMATIERUNG
.
712
16.6.1
FORMATIERUNG
MIT
DER
METHODE
STRING.FORMAT
.
712
16.6.2
FORMATIERUNG
MIT
DER
METHODE
TOSTRING
.
716
16.6.3
BENUTZERDEFINIERTE
FORMATIERUNG
.
717
17
PROJEKTMANAGEMENT
UND
VISUAL
STUDIO
2019
721
17.1
DER
PROJEKTTYP
KLASSENBIBLIOTHEK
.
721
17.1.1
MEHRERE
PROJEKTE
IN
EINER
PROJEKTMAPPE
VERWALTEN
.
723
17.1.2
DIE
ZUGRIFFSMODIFIZIERER
PUBLIC
UND
INTERNAL
.
724
17.1.3
FRIEND
ASSEMBLIES
.
724
17.1.4
EINBINDEN
EINER
KLASSENBIBLIOTHEK
.
725
17.2
ASSEMBLIES
.
726
17.2.1
EIN
UEBERBLICK
UEBER
DAS
KONZEPT
DER
ASSEMBLIES
.
726
17
17.2.2
ALLGEMEINE
BESCHREIBUNG
PRIVATER
UND
GLOBALER
ASSEMBLIES
.
728
17.2.3
DIE
STRUKTUR
EINER
ASSEMBLY
.
728
17.2.4
GLOBALE
ASSEMBLIES
.
733
17.2.5
DIE
INSTALLATION
EINER
ASSEMBLY
IM
GAC
MIT
DEM
TOOL
GACUTIL.EXE
.
737
17.3
KONFIGURATIONSDATEIEN
.
738
17.3.1
DIE
VERSCHIEDENEN
KONFIGURATIONSDATEIEN
.
739
17.3.2
DIE
STRUKTUR
EINER
ANWENDUNGSKONFIGURATIONSDATEI
.
741
17.3.3
SPEZIFISCHE
EINTRAEGE
IN
DER
ANWENDUNGSKONFIGURATIONSDATEI
.
744
17.3.4
EINTRAEGE
DER
ANWENDUNGSKONFIGURATIONSDATEI
AUSWERTEN
.
745
17.3.5
EDITIERBARE,
ANWENDUNGSBEZOGENE
EINTRAEGE
MIT
APPSETTINGS
.
750
17.4
VERSIONIERUNG
EINER
ASSEMBLY
.
752
17.4.1
DIE
HERAUSGEBERRICHTLINIENDATEI
.
754
17.5
XML-DOKUMENTATION
.
755
17.5.1
DAS
PRINZIP
DER
XML-DOKUMENTATION
.
755
17.5.2
DIE
XML-KOMMENTAR-TAGS
.
757
17.5.3
GENERIEREN
DER
XML-DOKUMENTATIONSDATEI
.
758
17.6
DER
KLASSENDESIGNER
(CLASS
DESIGNER)
.
759
17.6.1
EIN
TYPISCHES
KLASSENDIAGRAMM
.
760
17.6.2
HINZUFUEGEN
VON
KLASSENDIAGRAMMEN
.
762
17.6.3
DIE
TOOLBOX
DES
KLASSENDESIGNERS
.
763
17.6.4
DAS
FENSTER
KLASSENDETAILS
.
763
17.6.5
KLASSENDIAGRAMME
ALS
BILDER
EXPORTIEREN
.
765
17.7
REFACTORING.
766
17.7.1
METHODE
EXTRAHIEREN
.
766
17.7.2
BEZEICHNER
UMBENENNEN
.
768
17.8
CODE-SNIPPETS
(CODEAUSSCHNITTE)
.
769
17.8.1
CODEAUSSCHNITTE
EINFUEGEN
.
769
17.8.2
DIE
ANATOMIE
EINES
CODEAUSSCHNITTS
.
770
18
DIE
ZUKUNFT:
.NET CORE
UND
.NET
STANDARD
773
18.1
ALLGEMEINES
.
774
18.2
DIE
DREI
SAEULEN
VON
.NET
.
775
18.2.1
.NET
FRAMEWORK
.
775
18.2.2
.NET
CORE
.
775
18.2.3
XAMARIN
.
777
18
18.3
.NET
STANDARD
.
777
183.1
BEISPIEL
MIT
.NET
STANDARD
.
780
18.4
PORTIEREN
VON
.NET
FRAMEWORK
NACH
.NET
STANDARD.
783
18.5
C#-SPRACHERGAENZUNGEN
FUER
.NET
CORE
.
784
18.5.1
DIE
STRUKTUR
SYSTEM.RANGE
.
785
18.5.2
DIE
STRUKTUR
SYSTEM.INDEX
.
787
19
EINFUEHRUNG
IN
DAS
ENTITY
FRAMEWORK
789
19.1
DAS
ENTITY
FRAMEWORK
IM
UEBERBLICK
.
789
19.1.1
DIE
ORGANISATION
DER
DATEN
IM
ENTITY
FRAMEWORK
.
791
19.2
ERSTELLEN
EINES
ENTITY
DATA
MODELS
(EDM)
.
792
19.2.1
KURZBESCHREIBUNG
DES
EDM
.
796
19.2.2
ALLGEMEINE
EIGENSCHAFTEN
EINER
ENTITAET
.
796
19.2.3
EIGENSCHAFTSTYPEN
EINES
ENTITAETSOBJEKTS
.
798
19.2.4
ASSOZIATIONEN
IM
ENTITY
DATA
MODEL
.
801
19.2.5
DER
KONTEXT
DER
ENTITAETEN
.
802
19.2.6
DER
AUFBAU
DES
ENTITY
DATA
MODELS
.
803
19.2.7
CONNECTIONSTRINGS
.
807
19.2.8
STRATEGIEN,
MIT
ENTITY
FRAMEWORK
ZU
ARBEITEN
.
808
19.3
DIE
AUTOMATISCH
ERZEUGTEN
KLASSEN
IM
EDM
.
809
19.3.1
DIE
KLASSE
DBCONTEXT
.
810
19.3.2
DIE
ENTITAETSKLASSEN
.
811
20
DATABASE
FIRST
MIT
DEM
EDM-DESIGNER
SIS
20.1
EINFACHE
DATENABFRAGEN
MIT
LINQ-TO-ENTITIES
.
815
20.1.1
ALLGEMEINE
ABFRAGEN
.
816
20.1.2
DER
UNTERSCHIED
DER
BEIDEN
SCHNITTSTELLEN
LENUMERABLE
UND
IQUERYABLE
817
20.1.3
SOFORTIGES
AUSFUEHREN
EINER
ABFRAGE
.
818
20.1.4
EINE
ENTITAET
MIT
DER
METHODE
FIND
SUCHEN
.
820
20.1.5
LOKALE
DATEN
MIT
LOAD
LADEN
.
821
20.1.6
ABFRAGEN
DES
LOKALEN
DATENCACHES
MIT
LOCAL.
822
20.1.7
LOCAL
UND
DIE
OBSERVABLECOLLECTION TENTITY
.
824
20.2
IN
BEZIEHUNG
STEHENDE
DATEN
LADEN
.
825
20.2.1
DAS
LAZY
LOADING
.
825
19
20.2.2
DAS
EAGER
LOADING
.
828
20.23
DAS
EXPLIZITE
LADEN
MIT
LOAD
.
830
20.2.4
MIT
QUERY
VOR
DEM
LADEN
FILTERN
.
832
20.3
AENDERN
VON
ENTITAETEN
.
834
20.3.1
ENTITAETEN
AENDERN
.
834
20.3.2
HINZUFUEGEN
EINER
NEUEN
ENTITAET
.
835
20.3.3
LOESCHEN
EINER
ENTITAET
.
838
20.3.4
SQL
MIT
ENTITY
FRAMEWORK
.
840
20.4
DAS
VERFOLGEN
DER
AENDERUNGEN
.
841
20.4.1
DAS
DBENTITYENTRY-OBJEKT
.
841
20.4.2
DIE
KLASSE
DBPROPERTYVALUES
.
844
20.4.3
DIE
KLASSE
DBCHANGETRACKER.
846
20.4.4
ENTITAETSZUSTAENDE
.
847
20.4.5
DIE
AUTOMATISCHE
AENDERUNGSNACHVERFOLGUNG
MIT
DETECTCHANGES
.
848
20.4.6
AENDERUNGSNACHVERFOLGUNG
MIT
DYNAMISCHEN
PROXIES
.
851
20.5
DIE
CHANGE
TRACKER
API
.
854
20.5.1
DIE
CURRENT-,
ORIGINAL-
UND
DATABASEVALUES
ERMITTELN
.
855
20.5.2
MIT
INDIVIDUELLEN
EIGENSCHAFTEN
ARBEITEN
.
859
20.5.3
AENDERN
MIT
DER
REFERENCE-NAVIGATIONSEIGENSCHAFT
.
861
20.5.4
DIE
METHODE
ENTRIES
DER
KLASSE
CHANGETRACKER
.
863
20.5.5
EINE
ENTITAET
AUS
DER
DATENBANK
AKTUALISIEREN
.
864
20.6
PARALLELITAETSKONFLIKTE
BEHANDELN
.
865
20.6.1
ALLGEMEINE
BETRACHTUNGEN
.
866
20.6.2
DAS
STANDARDVERHALTEN
BEI
KONKURRIERENDEN
ZUGRIFFEN
.
868
20.6.3
DAS
AKTUALISIERUNGSVERHALTEN
MIT
FIXED
BEEINFLUSSEN
.
869
20.6.4
AKTUALISIERUNG
MIT
EINER
TIMESTAMP-SPALTE
.
870
20.6.5
AUF
DIE
AUSNAHME
DBLLPDATECONCURRENCYEXCEPTION
REAGIEREN
.
871
20.7
ASYNCHRONE
ABFRAGE-
UND
SPEICHEROPERATIONEN
.
879
20.8
TRANSAKTIONEN
.
881
20.9
KONTEXTLOSE
ENTITAETEN
AENDERN
.
883
20.9.1
SELF-TRACKING-ENTITIES
(STE)
.
884
20.10
VALIDIEREN
MIT
DEM
ENTITY
FRAMEWORK
.
887
20.10.1
MIT
DATA
ANNOTATIONS
EIGENSCHAFTEN
VALIDIEREN
.
890
20.10.2
VALIDIEREN
EINER
KOMPLETTEN
ENTITAET
.
898
20.10.3
VALIDIEREN
MEHRERER
ENTITAETEN
IM
KONTEXT
.
901
20.10.4
DAS
UEBERSCHREIBEN
DER
METHODE
DBCONTEXT.VALIDATEENTITY
.
903
20
21
ENTITY
FRAMEWORK
-
CODE
FIRST
907
21.1
ERSTE
SCHRITTE
.
907
21.2
ENTITY
FRAMEWORK
6
POWER
TOOLS
.
909
21.3
DAS
ERSTE
CODE-FIRST-MODELL
.
909
21.3.1
DIE
DATENBANK
ERZEUGEN
.
912
21.3.2
ERZEUGEN
DER
DATENBANK
IN
EINER
BELIEBIGEN
DATENBANKINSTANZ
.
914
21.3.3
DAS
INITIALISIERUNGSVERHALTEN
DER
DATENBANK
STEUERN
.
915
21.4
EINFUEHRUNG
IN
DIE
KONFIGURATION
VON
CODE
FIRST
.
917
21.4.1
KONFIGURIEREN
MIT
DATA
ANNOTATIONS
.
918
21.4.2
KONFIGURIEREN
MIT
DER
FLUENT
API
.
919
21.4.3
SEPARATE
KONFIGURATIONSKLASSEN
FUER
DIE
FLUENT
API
.
921
21.5
KONVENTIONEN
UND
KONFIGURATION
IM
DETAIL
.
922
21.5.1
PRIMAERSCHLUESSEL
.
923
21.5.2
ELEMENTARE
DATA
ANNOTATIONS
.
927
21.5.3
ENTITAETEN
AUF
DAS
OPTIMISTISCHE
SPERREN
VORBEREITEN
.
929
21.5.4
ENTITAETEN
OHNE
TIMESTAMP-SPALTEN
.
932
21.6
KOMPLEXE
TYPEN
.
933
21.6.1
KOMPLEXE
TYPEN
MIT
DATA
ANNOTATIONS
.
936
21.7
KONVENTIONEN
UND
KONFIGURATION
VON
BEZIEHUNGEN
.
937
21.7.1
KONFIGURATION
MIT
DATA
ANNOTATIONS
.
939
21.7.2
KONFIGURATION
EINER
L:N-BEZIEHUNG
MIT
DER
FLUENT
API
.
940
21.7.3
ENTITAETEN
UND
FREMDSCHLUESSEL
.
943
21.7.4
DIE
ANNOTATION
FOREIGNKEY
.
944
21.7.5
KASKADIERENDE
LOESCHWEITERGABE
.
946
21.7.6
DAS
ATTRIBUT
INVERSEPROPERTY
.
948
21.7.7
L:L-BEZIEHUNGEN
MIT
CODE
FIRST
.
951
21.7.8
N:N-BEZIEHUNGEN
MIT
CODE
FIRST
.
955
22
EINFUEHRUNG
IN
DIE
WPF
UND
XAML
957
22.1
DIE
MERKMALE
EINER
WPF-ANWENDUNG.
958
22.1.1
ANWENDUNGSTYPEN
.
959
22.1.2
EINE
WPF-ANWENDUNG
UND
IHRE
DATEIEN
.
960
22.1.3
EIN
ERSTES
WPF-BEISPIEL.
963
22.1.4
WICHTIGE
WPF-FEATURES.
966
22.1.5
DER
LOGISCHE
UND
DER
VISUELLE
ELEMENTBAUM
.
968
21
22.2
XAML
(EXTENDED
APPLICATION
MARKUP
LANGUAGE)
.
970
22.2.1
DIE
STRUKTUR
EINER
XAML-DATEI
.
970
22.2.2
EIGENSCHAFTEN
EINES
XAML-ELEMENTS
IN
ATTRIBUT-SCHREIBWEISE
FESTLEGEN
.
973
22.2.3
EIGENSCHAFTEN
IM
EIGENSCHAFTSFENSTER
FEST
LEGEN
.
973
22.2.4
DIE
EIGENSCHAFT-ELEMENT-SYNTAX
.
974
22.2.5
INHALTSEIGENSCHAFTEN
.
975
22.2.6
TYPKONVERTIERUNG
.
978
22.2.7
MARKUP-ERWEITERUNGEN
(MARKUP
EXTENSIONS)
.
979
22.2.8
XML-NAMESPACES
.
982
22.2.9
XAML-SPRACHERWEITERUNGEN
.
985
22.2.10
DIE
DIREKTIVE
#REGION
NUTZEN
.
987
23
DIE
WPF-LAYOUTCONTAINER
989
23.1
ALLGEMEINER
UEBERBLICK
.
989
23.2
GEMEINSAME
EIGENSCHAFTEN
DER
LAYOUTCONTAINER
.
990
23.2.1
DAS
CANVAS
.
991
23.2.2
DAS
STACKPANEL
.
992
23.2.3
DAS
WRAPPANEL
.
995
23.2.4
DAS
DOCKPANEL
.
996
23.2.5
DAS
GRID-STEUERELEMENT
.
998
23.2.6
DAS
UNIFORMGRID
.
1004
23.3
VERSCHACHTELN
VON
LAYOUTCONTAINERN
.
1005
24
FENSTER
IN
DER
WPF
1009
24.1
HOSTS
DER
WPF
.
1009
24.2
FENSTER
VOM
TYP
WINDOW
.
1010
24.2.1
MEHRERE
FENSTER
IN
EINER
ANWENDUNG
.
1012
24.3
FENSTER
VOM
TYP
NAVIGATIONWINDOW
.
1014
24.3.1
DAS
PAGE-ELEMENT
.
1016
24.3.2
NAVIGATION
ZWISCHEN
DEN
SEITEN
.
1018
24.3.3
DER
VERLAUF
DER
NAVIGATION
-
DAS
JOURNAL
.
1021
24.3.4
DATENUEBERGABE
ZWISCHEN
DEN
SEITEN
MIT
EINEM
KONSTRUKTOR
.
1023
24.3.5
DATENUEBERGABE
MIT
DER
METHODE
NAVIGATE
.
1024
24.3.6
NAVIGATION
IM
INTERNET
.
1026
22
243.7
NAVIGIEREN
MIT
DEM
EREIGNIS
REQUESTNAVIGATE
DES
HYPERLINK-
ELEMENTS
.
1026
24.4
HOSTS
VOM
TYP
FRAME
.
1027
24.5
NACHRICHTENFENSTER
MIT
MESSAGEBOX
.
1029
24.5.1
DIE
METHODE
MESSAGEBOX.SHOW.
1029
24.6
STANDARDDIALOGE
IN
DER
WPF
.
1032
24.6.1
DER
DIALOG
OPENFILEDIALOG.
1032
24.6.2
DER
DIALOG
SAVEFILEDIALOG.
1035
25
WPF-STEUERELEMENTE
1037
25.1
DIE
HIERARCHIE
DER
WPF-KOMPONENTEN
.
1037
25.2
ALLGEMEINE
EIGENSCHAFTEN
DER
WPF-STEUERELEMENTE
.
1039
25.2.1
DEN
AUSSENRAND
MIT
DER
EIGENSCHAFT
MARGIN
FESTLEGEN
.
1039
25.2.2
DEN
INNENRAND
MIT
DER
EIGENSCHAFT
PADDING
FESTLEGEN
.
1040
25.2.3
DIE
EIGENSCHAFT
CONTENT
.
1040
25.2.4
DIE
GROESSE
EINER
KOMPONENTE
.
1042
25.2.5
DIE
AUSRICHTUNG
EINER
KOMPONENTE
.
1043
25.2.6
DIE
SICHTBARKEIT
EINES
STEUERELEMENTS
.
1043
25.2.7
DIE
FARBLICHE
DARSTELLUNG
.
1044
25.2.8
DIE
SCHRIFTEN
.
1044
25.3
DIE
GRUPPE
DER
SCHALTFLAECHEN
.
1045
25.3.1
DIE
BASISKLASSE
BUTTONBASE
.
1045
25.3.2
DAS
STEUERELEMENT
BUTTON
.
1046
25.3.3
DAS
STEUERELEMENT
TOGGLEBUTTON
.
1047
25.3.4
DAS
STEUERELEMENT
REPEATBUTTON
.
1047
25.3.5
DAS
STEUERELEMENT
CHECKBOX
.
1049
25.3.6
DAS
STEUERELEMENT
RADIOBUTTON
.
1049
25.4
EINFACHE
EINGABESTEUERELEMENTE
.
1050
25.4.1
DAS
STEUERELEMENT
LABEL.
1050
25.4.2
DAS
STEUERELEMENT
TEXTBOX
.
1051
25.4.3
DAS
STEUERELEMENT
PASSWORDBOX
.
1055
25.4.4
DAS
STEUERELEMENT
TEXTBLOCK
.
1055
25.5
WPF-LISTENELEMENTE
.
1058
25.5.1
DAS
STEUERELEMENT
LISTBOX
.
1058
25.5.2
DIE
COMBOBOX.
1061
25.5.3
DAS
STEUERELEMENT
LISTVIEW
.
1061
23
25.5.4
DAS
STEUERELEMENT
TREEVIEW
.
1065
25.5.5
DAS
STEUERELEMENT
TABCONTROL
.
1071
25.5.6
DIE
MENUELEISTE
.
1072
25.5.7
DAS
KONTEXTMENUE
.
1075
25.5.8
SYMBOLLEISTEN
.
1076
25.5.9
DIE
STATUSLEISTE
.
1079
25.6
WEITERE
STEUERELEMENTE
.
1080
25.6.1
DAS
STEUERELEMENT
TOOLTIP
.
1080
25.6.2
DIE
PROGRESSBAR
.
1082
25.6.3
DAS
STEUERELEMENT
SLIDER
.
1082
25.6.4
DAS
GROUPBOX-STEUERELEMENT
.
1082
25.6.5
DAS
STEUERELEMENT
SCROLLVIEWER
.
1083
25.6.6
DAS
STEUERELEMENT
EXPANDER
.
1085
25.6.7
DAS
STEUERELEMENT
BORDER
.
1086
25.6.8
DIE
IMAGE-KOMPONENTE
.
1087
25.6.9
CALENDAR
UND
DATEPICKER
ZUR
DATUMSANGABE
.
1089
25.7
DAS
RIBBON-STEUERELEMENT.
1091
25.7.1
VORAUSSETZUNGEN
FUER
DEN
ZUGRIFF
AUF
DAS
RIBBON-CONTROL
.
1091
25.7.2
EIN
KURZER
UEBERBLICK
.
1092
25.7.3
DERXAML-CODE
.
1092
26
DEPENDENCY
PROPERTIES
1099
26.1
DIE
CHARAKTERISTIK
VON
ABHAENGIGKEITSEIGENSCHAFTEN
.
1099
26.2
DEN
WERT
EINER
ABHAENGIGKEITSEIGENSCHAFT
BILDEN
.
1100
26.3
DEFINITION
EINER
DEPENDENCY
PROPERTY
.
1101
26.3.1
REGISTRIEREN
EINER
ABHAENGIGKEITSEIGENSCHAFT
.
1102
26.3.2
DER
EIGENSCHAFTSWRAPPER
.
1103
26.3.3
DIE
EIGENSCHAFTSMETADATEN
.
1105
26.3.4
ZURUECKSTELLEN
AUF
DEN
STANDARDWERT
.
1108
26.3.5
VERERBUNG
VON
ABHAENGIGKEITSEIGENSCHAFTEN
.
1109
26.4
VALIDIEREN
EINER
ABHAENGIGKEITSEIGENSCHAFT
.
1109
26.4.1
VALIDIEREN
MIT
VALIDATEVALUECALLBACK
.
1110
26.4.2
VALIDIEREN
MIT
COERCEVALUECALLBACK
.
1110
26.5
ANGEHAENGTE
EIGENSCHAFTEN
(ATTACHED
PROPERTIES)
.
1111
26.5.1
ANGEHAENGTE
EIGENSCHAFTEN
ZUR
LAUFZEIT
AENDERN
.
1113
24
27
EREIGNISSE
IN
DER
WPF
1115
27.1
EREIGNISHANDLER
BEREITSTELLEN
.
1115
27.2
ROUTING-STRATEGIEN.
1116
27.2.1
ROUTED
EVENTS
UND
DER
ELEMENTBAUM
.
1118
27.2.2
BEISPIELANWENDUNG
.
1119
27.2.3
SONDERFALL:
EREIGNISSE
MIT
DER
LINKEN
MAUSTASTE
.
1120
27.3
DER
EREIGNISHANDLER
.
1122
27.3.1
DIE
KLASSE
ROUTEDEVENTARGS
.
1122
27.3.2
DIE
QUELLE
DES
ROUTING-PROZESSES
.
1123
27.3.3
DIE
EIGENSCHAFT
HANDLED
.
1124
27.3.4
REGISTRIEREN
UND
DEREGISTRIEREN
EINES
EREIGNISHANDLERS
MIT
CODE
.
1125
27.4
BENUTZERDEFINIERTE
ROUTED
EVENTS
.
1125
27.4.1
EREIGNISAUSLOESUNG
.
1127
27.4.2
DAS
GEBUBBELTE
EREIGNIS
IM
ELEMENTBAUM
VERWENDEN
.
1128
27.5
MAUSEREIGNISSE
IN
DER
WPF
.
1129
27.5.1
ZIEHEN
DER
MAUS
.
1129
27.5.2
AUSWERTEN
DER
MAUSKLICKS
.
1130
27.5.3
CAPTURING
.
1131
28
RESSOURCEN,
STYLES,
TRIGGER
UND
TEMPLATES
1135
28.1
BINAERE
RESSOURCEN
.
1135
28.1.1
ZUGRIFF
AUF
BINAERE
RESSOURCEN.
1136
28.1.2
ZUGRIFF
AUF
BINAERE
RESSOURCEN
MIT
C#
.
1138
28.2
LOGISCHE
RESSOURCEN
.
1138
28.2.1
DIE
SUCHE
NACH
EINER
RESSOURCE.
1139
28.2.2
DEFINIEREN
EINER
RESSOURCE
.
1140
28.2.3
ZUGRIFF
AUF
EINE
LOGISCHE
RESSOURCE
MIT
C#-CODE
.
1141
28.2.4
STATICRESOURCE
VS.
DYNAMICRESOURCE
.
1142
28.2.5
ANBINDEN
EINER
DYNAMISCHEN
RESSOURCE
MIT
C#-CODE
.
1144
28.2.6
WPF-ELEMENTE
ALS
RESSOURCEN.
1145
28.2.7
ANWENDUNGSUEBERGREIFENDE
RESSOURCEN
.
1146
28.2.8
ABRUFEN
VON
SYSTEMRESSOURCEN
.
1149
28.3
STYLES
.
1150
28.3.1
UNTYPISIERTE
STYLES
(EXPLIZITE
STYLES)
.
1151
28.3.2
TYPISIERTE
STYLES
(IMPLIZITE
STYLES)
.
1153
25
2833
ERWEITERN
EINES
STYLES
MIT
BASEDON
.
1155
283.4
EREIGNISSE
MIT
EVENTSETTER
ZENTRAL
ABONNIEREN
.
1157
28.4
TRIGGER
.
1158
28.4.1
EINFACHE
TRIGGER
(EIGENSCHAFTSTRIGGER)
.
1160
28.4.2
MEHRERE
BEDINGUNGEN
MIT
MULTITRIGGER
.
1162
28.43
DATATRIGGER
.
1163
28.4.4
MULTIDATATRIGGER
.
1165
28.4.5
EVENTTRIGGER
.
1167
28.5
TEMPLATES
.
1169
28.5.1
ALLGEMEINES
ZU
CONTROLTEMPLATE-ELEMENTEN
.
1170
28.5.2
DEFINITION
INNERHALB
EINES
STYLES
.
1175
29
WPF-DATENBINDUNG
1177
29.1
DIE
KLASSE
BINDING
.
1180
29.1.1
BINDEN
AN
EINE
DATENQUELLE
.
1181
29.1.2
MIT
PATH
AN
EINE
EIGENSCHAFT
DER
DATENQUELLE
BINDEN
.
1184
29.13
DIE
BINDUNGSRICHTUNG
MIT
MODE
FESTLEGEN
.
1186
29.1.4
DAS
AKTUALISIEREN
MIT
UPDATESOURCETRIGGER
STEUERN
.
1188
29.1.5
DIE
EREIGNISSE
SOURCELLPDATED
UND
TARGETUPDATED
.
1190
29.1.6
BEENDEN
EINER
BINDUNG
.
1192
29.2
KONVERTER
MIT
IVALUECONVERTER
UND
IMULTIVALUECONVERTER
.
1192
29.2.1
EINFACHES
KONVERTER-BEISPIEL
.
1193
29.2.2
EIN
WEITERES
KONVERTER-BEISPIEL
.
1196
29.2.3
KONVERTER
UND
MULTIBINDING
.
1198
29.3
VALIDIEREN
VON
BINDUNGEN
.
1200
29.3.1
DIE
VALIDIERUNG
MIT
EXCEPTIONVALIDATIONRULE
.
1200
29.3.2
EINE
BENUTZERDEFINIERTE
VALIDATIONRULE
.
1203
29.3.3
VALIDIEREN
MIT
DER
SCHNITTSTELLE
IDATAERRORLNFO
.
1206
29.3.4
FEHLERHINWEISEINDIVIDUELLGESTALTEN
.
1207
29.3.5
EREIGNISAUSLOESUNG
BEI
EINEM
VALIDIERUNGSFEHLER
.
1209
29.3.6
MEHRERE
CONTROLS
MIT
BINDINGGROUP
GLEICHZEITIG
VALIDIEREN
.
1209
29.4
DATENBINDUNG
MIT
OBJECTDATAPROVIDER
.
1213
29.4.1
AUFRUF
EINES
PARAMETRISIERTEN
KONSTRUKTORS
.
1214
29.4.2
OBJEKTMETHODE
AUFRUFEN
.
1215
29.4.3
BINDUNG
AN
EINE
STATISCHE
METHODE
.
1215
29.5
AKTUALISIEREN
VON
DATENKLASSEN
.
1216
29.5.1
EIN
OBJEKT
MIT
XAML-CODE
ERZEUGEN
UND
BINDEN
.
1217
26
29.5.2
EIN
OBJEKT
MIT
C#-CODE
ERZEUGEN
UND
BINDEN
1218
29.5.3
AKTUALISIEREN
BENUTZERDEFINIERTER
OBJEKTE
1219
29.6
DATENBINDUNG
VON
LISTEN-STEUERELEMENTEN
1223
29.6.1
DAS
LAYOUT
EINES
LTEMSCONTROL-STEUERELEMENTS
ANPASSEN
1224
29.6.2
BINDEN
AN
EIN
LISTBOX-ELEMENT
1225
29.6.3
DIE
KLASSE
OBSERVABLECOLLECTION T
1228
29.6.4
DIE
DARSTELLUNG
EINES
LISTBOXLTEM-ELEMENTS
ANPASSEN
1230
29.6.5
DATATEMPLATE
MIT
DATATRIGGER
1234
29.7
DATENBINDUNG
UND
DAS
ENTITY
FRAMEWORK
1237
29.8
DAS
STEUERELEMENT
DATAGRID
1238
29.8.1
ELEMENTARE
EIGENSCHAFTEN
DES
DATAGRID-OBJEKTS
1238
29.8.2
BEISPIELPROGRAMM
MIT
DEM
DATAGRID
1240
29.8.3
DETAILS
EINER
ZEILE
ANZEIGEN
1246
29.8.4
DATAGRID
UND
L:N-BEZIEHUNGEN
1247
29.9
DAS
TREEVIEW-CONTROL
1250
29.9.1
DER
PROGRAMMCODE
1251
29.9.2
DAS
WINDOW
1255
29.10
NAVIGIEREN,
FILTERN,
SORTIEREN
UND
GRUPPIEREN
1259
29.10.1
NAVIGIEREN
IN
EINER
DATENMENGE
1260
29.10.2
SORTIEREN
VON
DATENMENGEN
1263
29.10.3
FILTERN
VON
DATEN
1266
29.10.4
GRUPPIEREN
VON
DATEN
1268
29.11
DYNAMISCHE
ZUWEISUNG
VON
STYLES
UND
DATATEMPLATE-OBJEKTEN
1272
29.11.1
STYLES
DYNAMISCH
AENDERN
1272
29.11.2
DATATEMPLATE
PER
C#-CODE
AUSWAEHLEN
1275
30
WPF-WEITERGEHENDETECHNIKEN
1279
30.1
WPF
UND
MULTITHREADING
1279
30.1.1
NACHRICHTENSCHLEIFE
UND
DISPATCHER-KLASSE
1280
30.1.2
ZUGRIFF
AUF
UL-KOMPONENTEN
AUS
EINEM
WORKER-THREAD
1283
30.1.3
BEGINLNVOKE
UND
INVOKE
1284
30.1.4
DIE
DISPATCHEROBJECT-KLASSE
1285
30.2
GLOBALISIERUNG
UND
LOKALISIERUNG
1286
30.2.1
GLOBALISIERUNG
1286
30.2.2
LOKALISIERUNG
.
1287
27
30.3
BENUTZERDEFINIERTE
CONTROLS
.
1296
303.1
ERSTELLEN
EINES
BENUTZERDEFINIERTEN
STEUERELEMENTS
.
1296
303.2
DER
XAML-CODE
DES
USERCONTROL-ELEMENTS
.
1298
30.3.3
DIE
PROGRAMMLOGIK
DES
STEUERELEMENTS
.
1299
30.3.4
DAS
STEUERELEMENT
COLORMIXER
TESTEN
.
1304
31 WPF-COMMANDS
1307
31.1
ALLGEMEINE
BESCHREIBUNG
.
1308
31.2
EIN
ERSTES
PROGRAMMBEISPIEL
.
1308
31.2.1
INTEGRIERTE
BEFEHLE
IN
DEN
UL-KOMPONENTEN
.
1310
31.3
DIE
BEFEHLSQUELLE
.
1311
31.3.1
DAS
BEFEHLSZIEL
MIT
COMMANDTARGET
ANGEBEN
.
1312
31.3.2
EINEN
FOKUSBEREICH
MIT
DER
KLASSE
FOCUSMANAGER
DEFINIEREN
.
1313
313.3
ZUSAETZLICHE
DATEN
MIT
COMMANDPARAMETER
BEREITSTELLEN
.
1314
31.4
WPF-COMMANDS
.
1315
31.4.1
DIE
ARBEITSWEISE
EINES
BEFEHLS
.
1316
31.4.2
DIE
KLASSE
COMMANDMANAGER
.
1317
31.5
ROUTEDCOMMAND-OBJEKTE
UND
COMMANDBINDINGS
.
1320
31.5.1
VORDEFINIERTE
WPF-COMMANDS
.
1321
31.5.2
DIE
KLASSE
ROUTEDCOMMAND
.
1322
31.5.3
BEFEHLSBINDUNGEN
MIT
COMMANDBINDING
EINRICHTEN
.
1323
31.5.4
BEFEHLSBINDUNG
MIT
PROGRAMMCODE
.
1325
31.5.5
BEFEHLE
MIT
MAUS
ODER
TASTATUR
AUFRUFEN
.
1325
31.5.6
BENUTZERDEFINIERTER
ROUTEDCOMMAND
.
1327
32
DAS
MWM-PATTERN
1331
32.1
DIE
THEORIE
HINTER
DEM
MODEL-VIEW-VIEWMODEL-PATTERN
.
1331
32.2
ALLGEMEINE
BESCHREIBUNG
DES
BEISPIELPROGRAMMS
.
1332
32.3
DER
AUSGANGSPUNKT
IM
BEISPIEL
MWM_ORIGIN
.
1334
32.4
DAS
BEREITSTELLEN
DES
MODELS
.
1334
32.5
BEREITSTELLEN
DES
VIEWMODELS
.
1336
32.5.1
ABRUFEN
UND
BEREITSTELLEN
DER
DATEN
.
1337
28
32.5.2
DIE
ANBINDUNG
DER
DATEN
AN
DIE
LISTVIEW
DER
VIEW
.
1339
32.5.3
DIE
ANBINDUNG
DER
TEXTBOXEN
.
1340
32.6
WPF-COMMANDS
UND
EIGENSCHAFTEN
IM
VIEWMODEL
.
1341
32.6.1
DIE
UMSETZUNG
VON
COMMANDS
IM
MODEL-VIEW-VIEWMODEL
.
1341
32.6.2
DIE
ALLGEMEINE
BESCHREIBUNG
EINES
COMMANDS
MIT
RELAYCOMMAND.
1342
32.6.3
ERGAENZEN
DER
KLASSE
MAINVIEWMODEL
.
1344
32.6.4
DIE
AKTUELLE
POSITION
DES
DATENSATZZEIGERS
.
1346
32.7
ROUTEDCOMMAND-OBJEKTE
IM
MWM
.
1347
32.7.1
AENDERUNGEN
IM
MAINWINDOW
.
1348
32.7.2
ERGAENZUNGEN
IM
VIEWMODEL
.
1349
32.7.3
DIE
EREIGNISHANDLER
DER
COMMANDBINDING-OBJEKTE
.
1351
32.8
BELIEBIGE
EREIGNISSE
MIT
EVENTTRIGGER-OBJEKTEN
BEHANDELN
.
1352
32.8.1
MAUSEREIGNISSETRIGGERN
.
1352
32.8.2
ERGAENZUNG
DES
VIEWMODELS
.
1355
32.9
DIE
KLASSE
PERSON
DURCH
EIN
VIEWMODEL
KAPSELN.
1356
32.9.1
DIE
MODEL-SPEZIFISCHE
KLASSE
PSTRING
.
1357
32.9.2
DIE
MODEL-SPEZIFISCHE
KLASSE
PDATETIME
.
1358
32.9.3
DIE
KLASSE
PERSONVIEWMODEL
.
1360
32.9.4
NOTWENDIGE
ANPASSUNGEN
IN
MAINVIEWMODEL
.
1363
32.9.5
ANPASSUNGEN
IM
XAML-CODE
.
1365
32.10
DIE
SCHALTFLAECHEN
RUECKGAENGIG
UND
SPEICHERN
.
1368
32.10.1
EINE
AENDERUNG
ZURUECKNEHMEN
.
1368
32.10.2
DIE
AENDERUNGEN
DER
LISTENOBJEKTE
SPEICHERN
.
1370
32.11
EIN
CONTROL
IN
DER
VIEW
FOKUSSIEREN.
1374
32.11.1
ERSTE
UEBERLEGUNGEN
.
1374
32.11.2
DEFINITION
DER
ANGEHAENGTEN
EIGENSCHAFT
.
1375
32.11.3
DIE
ANGEHAENGTE
EIGENSCHAFT
IM
XAML-CODE
.
1376
32.11.4
DAS
VIEWMODEL
ERGAENZEN
.
1377
32.12
DIE
LISTENELEMENTE
SORTIEREN
.
1378
32.12.1
ERGAENZUNGEN
IM
XAML-CODE
.
1378
32.12.2
ERGAENZUNGEN
IM
VIEWMODEL
.
1378
32.12.3
DIE
KLASSEN
PSTRING
UND
PDATETIME
ANPASSEN
.
1379
32.13
EREIGNISSE
IM
VIEWMODEL
AUSLOESEN.
1380
32.13.1
DIE
LOESCHBESTAETIGUNG
.
1381
32.13.2
DAS
SCHLIESSEN
DES
FENSTERS
.
1382
29
33
2D-GRAFIK
1385
33.1
SHAPES
.
1385
33.1.1
ALLGEMEINE
BESCHREIBUNG
.
1385
33.1.2
LINE-ELEMENTE
.
1386
33.1.3
ELLIPSE-
UND
RECTANGLE-ELEMENTE
.
1387
33.1.4
POLYGON
-
UND
POLYLINE
-ELEMENTE
.
1387
33.1.5
DARSTELLUNG
DER
LINIEN
.
1387
33.2
PATH-ELEMENTE
.
1389
33.2.1
DAS
ELEMENT
GEOMETRYGROUP
.
1390
33.2.2
DAS
ELEMENT
COMBINEDGEOMETRY
.
1391
33.2.3
GEOMETRISCHE
FIGUREN
MIT
PATHGEOMETRY
.
1392
33.3
BRUSH-OBJEKTE
.
1393
33.3.1
SOLIDCOLORBRUSH
.
1394
33.3.2
LINEARGRADIENTBRUSH
.
1395
33.3.3
RADIALGRADIENTBRUSH
.
1397
33.3.4
MUSTER
MIT
TILEBRUSH
.
1399
33.3.5
BILDER
MIT
IMAGEBRUSH
.
1401
33.3.6
EFFEKTE
MIT
VISUALBRUSH
.
1402
33.3.7
DAS
ELEMENT
DRAWINGBRUSH
.
1404
34
KOMPONENTENTESTS
(UNIT-TESTS)
1405
34.1
WAS
IST
EIN
UNIT-TEST?
.
1405
34.2
EIN
ERSTER
KOMPONENTENTEST.
1408
34.2.1
DAS
AAA-PRINZIP
.
1410
34.2.2
AUTOMATISCHES
GENERIEREN
EINES
TESTPROJEKTS
.
1412
34.2.3
AUSFUEHREN
EINES
UNIT-TESTS
.
1413
34.3
KOMPONENTENTEST
SCHREIBEN
UND
AUSFUEHREN
.
1415
34.3.1
UNIT-TESTS
GRUPPIEREN
.
1415
34.3.2
MERKMALE
FESTLEGEN
.
1417
34.3.3
WIEDERGABELISTEN
.
1423
34.3.4
EXCEPTIONS
TESTEN
.
1424
34.3.5
CODEABDECKUNG
(CODE
COVERAGE)
.
1426
34.3.6
TESTEN
VON
PRIVATEN
METHODEN
.
1429
34.3.7
DIE
ATTRIBUTE
TIMEOUT
UND
IGNORE
.
1431
34.3.8
KOMPONENTENTESTS
DEBUGGEN
.
1431
30
34.4
DIE
KLASSE
TESTCONTEXT
.
1432
34.5
DATA-DRIVEN
UNIT
TESTS
(DATENGETRIEBENE
TESTS)
.
1436
34.5.1
EINE
DATENBANK
ALS
DATENQUELLE
.
1437
34.5.2
DATA-DRIVEN
TEST
MIT
XML
.
1439
34.5.3
DATA-DRIVEN
TEST
MIT
EINER
CSV-DATEI
.
1441
34.5.4
DIE
DATENQUELLE
IN
DER
APP.CONFIG-DATEI
KONFIGURIEREN
.
1443
34.5.5
TESTDATEN
MIT
DEM
ATTRIBUT
DATAROW
.
1446
34.5.6
TESTDATEN
MIT
DEM
ATTRIBUT
DYNAMICDATA
.
1447
34.6
LEBENSZYKLUS-
ATTRIBUTE
.
1449
34.6.1
DIE
ATTRIBUTE
TESTLNITIALIZE
UND
TESTCLEANUP
.
1450
34.6.2
DIE
ATTRIBUTE
CLASSINITIALIZE
UND
CLASSCLEANUP
.
1452
34.6.3
DIE
ATTRIBUTE
ASSEMBLYLNITIALIZE
UND
ASSEMBLYCLEANUP
.
1453
34.7
TESTEN
MIT
ASSERT
.
1453
34.7.1
DIE
KLASSE
ASSERT
.
1454
34.7.2
DIE
KLASSE
STRINGASSERT
.
1458
34.7.3
DIE
KLASSE
COLLECTIONASSERT
.
1459
34.8
TEST-DRIVEN
DEVELOPMENT
-
TDD
.
1462
INDEX
.
1465
31 |
any_adam_object | 1 |
author | Kühnel, Andreas |
author_GND | (DE-588)1028663412 |
author_facet | Kühnel, Andreas |
author_role | aut |
author_sort | Kühnel, Andreas |
author_variant | a k ak |
building | Verbundindex |
bvnumber | BV045937759 |
classification_rvk | ST 250 |
classification_tum | DAT 358f |
ctrlnum | (OCoLC)1112133935 (DE-599)DNB1181888840 |
discipline | Informatik |
edition | 8., aktualisierte Auflage |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>00000nam a22000008c 4500</leader><controlfield tag="001">BV045937759</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20210615</controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">190617s2019 gw a||| |||| 00||| ger d</controlfield><datafield tag="015" ind1=" " ind2=" "><subfield code="a">19,N14</subfield><subfield code="2">dnb</subfield></datafield><datafield tag="016" ind1="7" ind2=" "><subfield code="a">1181888840</subfield><subfield code="2">DE-101</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9783836264587</subfield><subfield code="c">: EUR 49.90 (DE), EUR 51.30 (AT), CHF 63.90 (freier Preis)</subfield><subfield code="9">978-3-8362-6458-7</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">3836264587</subfield><subfield code="9">3-8362-6458-7</subfield></datafield><datafield tag="024" ind1="3" ind2=" "><subfield code="a">9783836264587</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)1112133935</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)DNB1181888840</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rda</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">ger</subfield></datafield><datafield tag="044" ind1=" " ind2=" "><subfield code="a">gw</subfield><subfield code="c">XA-DE-NW</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-20</subfield><subfield code="a">DE-19</subfield><subfield code="a">DE-29T</subfield><subfield code="a">DE-2174</subfield><subfield code="a">DE-859</subfield><subfield code="a">DE-860</subfield><subfield code="a">DE-523</subfield><subfield code="a">DE-Aug4</subfield><subfield code="a">DE-634</subfield><subfield code="a">DE-91G</subfield><subfield code="a">DE-573</subfield><subfield code="a">DE-1050</subfield><subfield code="a">DE-703</subfield><subfield code="a">DE-898</subfield><subfield code="a">DE-862</subfield><subfield code="a">DE-473</subfield><subfield code="a">DE-1102</subfield><subfield code="a">DE-1043</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">004</subfield><subfield code="2">sdnb</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">Kühnel, Andreas</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)1028663412</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">C# 8 mit Visual Studio 2019</subfield><subfield code="b">das umfassende Handbuch</subfield><subfield code="c">Andreas Kühnel</subfield></datafield><datafield tag="246" ind1="1" ind2="3"><subfield code="a">C # 8 mit Visual Studio 2019</subfield></datafield><datafield tag="246" ind1="1" ind2="3"><subfield code="a">C# acht mit Visual Studio 2019</subfield></datafield><datafield tag="246" ind1="1" ind2="3"><subfield code="a">C sharp acht mit Visual Studio zweitausendneunzehn</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">8., aktualisierte Auflage</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Bonn</subfield><subfield code="b">Rheinwerk Verlag</subfield><subfield code="c">2019</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">1478 Seiten</subfield><subfield code="b">Illustrationen, Diagramme</subfield><subfield code="c">24 cm x 19 cm</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">Rheinwerk Computing</subfield></datafield><datafield tag="500" ind1=" " ind2=" "><subfield code="a">Auf dem Cover: "Spracheinführung, Objektorientierung, Programmiertechniken ; LINQ, Task Parallel Library (TPL), Komponententests (Unit-Tests) ; Windows Presentation Foundation (WPF), Entity Framework"</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">C sharp 8.0</subfield><subfield code="0">(DE-588)1193260566</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Visual C sharp.NET</subfield><subfield code="0">(DE-588)4682222-7</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="4"><subfield code="a">Visual Studio 2015</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Visual Studio 2019</subfield><subfield code="0">(DE-588)1193260337</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Objektorientierte Programmierung</subfield><subfield code="0">(DE-588)4233947-9</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="4"><subfield code="a">C sharp 6.0</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">C sharp 6.0</subfield><subfield code="0">(DE-588)1078640599</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Visual Studio 2015</subfield><subfield code="0">(DE-588)107560480X</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">C-Sharp</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Programmierung Programmieren Entwickeln</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Software-Entwicklung</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">MVVM View-Model Entity Framework</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">WPF Windows Presentation Foundation</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">DOTNET</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">ADO.NET</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Computing</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Hand-Buch Bücher lernen Grundlagen Kurse Workshops Tutorials Wissen Training Ausbildung Einführung</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Visual Studio 2019</subfield><subfield code="0">(DE-588)1193260337</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 8.0</subfield><subfield code="0">(DE-588)1193260566</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="1" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="689" ind1="2" ind2="0"><subfield code="a">Visual Studio 2015</subfield><subfield code="0">(DE-588)107560480X</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="2" ind2="1"><subfield code="a">C sharp 6.0</subfield><subfield code="0">(DE-588)1078640599</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="2" ind2=" "><subfield code="8">1\p</subfield><subfield code="5">DE-604</subfield></datafield><datafield tag="689" ind1="3" ind2="0"><subfield code="a">Visual Studio 2015</subfield><subfield code="A">s</subfield></datafield><datafield tag="689" ind1="3" ind2="1"><subfield code="a">C sharp 6.0</subfield><subfield code="A">s</subfield></datafield><datafield tag="689" ind1="3" ind2=" "><subfield code="8">2\p</subfield><subfield code="5">DE-604</subfield></datafield><datafield tag="689" ind1="4" ind2="0"><subfield code="a">Visual C sharp.NET</subfield><subfield code="0">(DE-588)4682222-7</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="4" ind2=" "><subfield code="8">3\p</subfield><subfield code="5">DE-604</subfield></datafield><datafield tag="689" ind1="5" ind2="0"><subfield code="a">Objektorientierte Programmierung</subfield><subfield code="0">(DE-588)4233947-9</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="5" ind2=" "><subfield code="8">4\p</subfield><subfield code="5">DE-604</subfield></datafield><datafield tag="689" ind1="6" 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="6" ind2=" "><subfield code="8">5\p</subfield><subfield code="5">DE-604</subfield></datafield><datafield tag="710" ind1="2" ind2=" "><subfield code="a">Galileo Press</subfield><subfield code="0">(DE-588)1065964404</subfield><subfield code="4">pbl</subfield></datafield><datafield tag="780" ind1="0" ind2="0"><subfield code="i">Vorangegangen ist</subfield><subfield code="a">Kühnel, Andreas</subfield><subfield code="t">C# 6 mit Visual Studio 2015</subfield><subfield code="z">9783836237147</subfield><subfield code="w">(DE-604)BV042873529</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">X:MVB</subfield><subfield code="q">text/html</subfield><subfield code="u">http://deposit.dnb.de/cgi-bin/dokserv?id=e1fcbb57e053475991d0be35740eb378&prov=M&dok_var=1&dok_ext=htm</subfield><subfield code="3">Inhaltstext</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">DNB Datenaustausch</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=031320070&sequence=000001&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="883" ind1="1" ind2=" "><subfield code="8">3\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">4\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">5\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-031320070</subfield></datafield></record></collection> |
id | DE-604.BV045937759 |
illustrated | Illustrated |
indexdate | 2025-02-20T07:17:48Z |
institution | BVB |
institution_GND | (DE-588)1065964404 |
isbn | 9783836264587 3836264587 |
language | German |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-031320070 |
oclc_num | 1112133935 |
open_access_boolean | |
owner | DE-20 DE-19 DE-BY-UBM DE-29T DE-2174 DE-859 DE-860 DE-523 DE-Aug4 DE-634 DE-91G DE-BY-TUM DE-573 DE-1050 DE-703 DE-898 DE-BY-UBR DE-862 DE-BY-FWS DE-473 DE-BY-UBG DE-1102 DE-1043 |
owner_facet | DE-20 DE-19 DE-BY-UBM DE-29T DE-2174 DE-859 DE-860 DE-523 DE-Aug4 DE-634 DE-91G DE-BY-TUM DE-573 DE-1050 DE-703 DE-898 DE-BY-UBR DE-862 DE-BY-FWS DE-473 DE-BY-UBG DE-1102 DE-1043 |
physical | 1478 Seiten Illustrationen, Diagramme 24 cm x 19 cm |
publishDate | 2019 |
publishDateSearch | 2019 |
publishDateSort | 2019 |
publisher | Rheinwerk Verlag |
record_format | marc |
series2 | Rheinwerk Computing |
spellingShingle | Kühnel, Andreas C# 8 mit Visual Studio 2019 das umfassende Handbuch C sharp 8.0 (DE-588)1193260566 gnd Visual C sharp.NET (DE-588)4682222-7 gnd C sharp (DE-588)4616843-6 gnd Visual Studio 2015 Visual Studio 2019 (DE-588)1193260337 gnd Objektorientierte Programmierung (DE-588)4233947-9 gnd C sharp 6.0 C sharp 6.0 (DE-588)1078640599 gnd Visual Studio 2015 (DE-588)107560480X gnd |
subject_GND | (DE-588)1193260566 (DE-588)4682222-7 (DE-588)4616843-6 (DE-588)1193260337 (DE-588)4233947-9 (DE-588)1078640599 (DE-588)107560480X |
title | C# 8 mit Visual Studio 2019 das umfassende Handbuch |
title_alt | C # 8 mit Visual Studio 2019 C# acht mit Visual Studio 2019 C sharp acht mit Visual Studio zweitausendneunzehn |
title_auth | C# 8 mit Visual Studio 2019 das umfassende Handbuch |
title_exact_search | C# 8 mit Visual Studio 2019 das umfassende Handbuch |
title_full | C# 8 mit Visual Studio 2019 das umfassende Handbuch Andreas Kühnel |
title_fullStr | C# 8 mit Visual Studio 2019 das umfassende Handbuch Andreas Kühnel |
title_full_unstemmed | C# 8 mit Visual Studio 2019 das umfassende Handbuch Andreas Kühnel |
title_old | Kühnel, Andreas C# 6 mit Visual Studio 2015 |
title_short | C# 8 mit Visual Studio 2019 |
title_sort | c 8 mit visual studio 2019 das umfassende handbuch |
title_sub | das umfassende Handbuch |
topic | C sharp 8.0 (DE-588)1193260566 gnd Visual C sharp.NET (DE-588)4682222-7 gnd C sharp (DE-588)4616843-6 gnd Visual Studio 2015 Visual Studio 2019 (DE-588)1193260337 gnd Objektorientierte Programmierung (DE-588)4233947-9 gnd C sharp 6.0 C sharp 6.0 (DE-588)1078640599 gnd Visual Studio 2015 (DE-588)107560480X gnd |
topic_facet | C sharp 8.0 Visual C sharp.NET C sharp Visual Studio 2015 Visual Studio 2019 Objektorientierte Programmierung C sharp 6.0 |
url | http://deposit.dnb.de/cgi-bin/dokserv?id=e1fcbb57e053475991d0be35740eb378&prov=M&dok_var=1&dok_ext=htm http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=031320070&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT kuhnelandreas c8mitvisualstudio2019dasumfassendehandbuch AT galileopress c8mitvisualstudio2019dasumfassendehandbuch AT kuhnelandreas c8mitvisualstudio2019 AT galileopress c8mitvisualstudio2019 AT kuhnelandreas cachtmitvisualstudio2019 AT galileopress cachtmitvisualstudio2019 AT kuhnelandreas csharpachtmitvisualstudiozweitausendneunzehn AT galileopress csharpachtmitvisualstudiozweitausendneunzehn |
Beschreibung
THWS Schweinfurt Zentralbibliothek Lesesaal
Signatur: |
2000 ST 250 C01 K95(8) |
---|---|
Exemplar 1 | ausleihbar Checked out – Rückgabe bis: 31.12.2099 Vormerken |