C# 8.0 Crashkurs
C# 8.0 Crashkurs (E-Book (PDF) und Programmcodebeispiele)
$11.99
Minimal-Preis
$14.99
Empfohlener Preis
C# 8.0 Crashkurs

Zuletzt aktualisiert: 2019-10-09

Über das Buch

Dieser Crashkurs ist geeignet für Softwareentwickler, die von einer anderen objektorientierten Programmiersprache (z.B. C++, Java, Visual Basic .NET oder PHP) auf C# umsteigen wollen oder bereits C# einsetzen und ihr Wissen erweitern, insbesondere die neusten Sprachfeatures kennenlernen wollen. Da es viele Umsteiger von Visual Basic .NET zu C# gibt, werden hier die Unterschiede von C# gegenüber Visual Basic .NET an einigen Stellen hervorgehoben.

Für Neueinsteiger, die mit C# erstmals überhaupt eine objektorientiere Programmiersprache erlernen wollen, ist dieses Werk hingegen nicht optimal geeignet, denn es werden die OO-Grundkonzepte nicht erklärt, da die meisten Softwareentwickler heutzutage diese aus anderen Sprachen kennen und das Buch nicht mit diesen Grundlagen unnötig in die Länge gezogen werden soll.

Das Buch erhebt nicht den Anspruch, vollständig alle syntaktischen Details zu C# aufzuzeigen, sondern nur die in der Praxis wichtigsten Konstrukte. In diesem Buch werden bewusst alle Syntaxbeispiele anhand von Konsolenanwendungen gezeigt. So brauchen Sie als Leser kein Wissen über eine bestimmte GUI-Bibliothek und die Beispiele sind prägnant fokussiert auf die Syntax.

Über den Autor

Dr. Holger Schwichtenberg
Dr. Holger Schwichtenberg
  • Studienabschluss Diplom-Wirtschaftsinformatik an der Universität Essen
  • Promotion an der Universität Essen im Gebiet komponentenbasierter Softwareentwicklung
  • Seit 1996 selbstständig als unabhängiger Berater, Dozent, Softwarearchitekt und Fachjournalist
  • Leiter des Berater- und Dozententeams bei www.IT-Visions.de
  • Leitung der Softwareentwicklung im Bereich Microsoft / .NET bei der 5minds IT-Solutions GmbH & Co. KG (www.5minds.de)
  • Über 65 Fachbücher beim Carl Hanser Verlag, bei O'Reilly, Microsoft Press, APress und Addison-Wesley sowie mehr als 1000 Beiträge in Fachzeitschriften
  • Gutachter in den Wettbewerbsverfahren der EU gegen Microsoft (2006–2009)
  • Ständiger Mitarbeiter der Zeitschriften iX (seit 1999), dotnetpro (seit 2000) und Windows Developer (seit 2010) sowie beim Online-Portal heise.de (seit 2008).
  • Regelmäßiger Sprecher auf nationalen und internationalen Fachkonferenzen (z.B. TechEd, Microsoft IT Forum, BASTA, BASTA-on-Tour, Advanced Developers Conference, .NET-Entwicklerkonferenz, OOP, VS One, Wirtschaftsinformatik, Net.Object Days, Windows Forum, DOTNET-Konferenz, XML-in-Action)
  • Zertifikate und Auszeichnungen von Microsoft: Microsoft Most Valuable Professional (MVP) und Microsoft Certified Solution Developer (MCSD)
  • Thematische Schwerpunkte:
  1. Microsoft .NET Framework, Visual Studio, C#, Visual Basic
  2. Visual Studio, Continous Integration, Continous Delivery, Azure DevOps
  3. .NET-Architektur / Auswahl von .NET-Technologien
  4. Einführung von .NET Framework und Visual Studio / Migration auf .NET
  5. Webanwendungsentwicklung mit IIS, ASP.NET und AJAX
  6. Enterprise .NET, verteilte Systeme/Webservices mit .NET
  7. Relationale Datenbanken, XML, Datenzugriffsstrategien
  8. Objektrelationales Mapping (ORM), insbesondere Entity Framework
  9. Windows PowerShell (WPS) und Windows Management Instrumentation (WMI)
  10. Ehrenamtliche Community-Tätigkeiten:
  11. Vortragender für die International .NET Association (INETA)
  • Betrieb diverser Community-Websites www.dotnetframework.de, www.entwickler-lexikon.de, www.windows-scripting.de, www.aspnetdev.de, u.a.
  • Weblog: http://www.dotnet-doktor.de
  • Kontakt: hs@IT-Visions.de sowie Telefon 0201 649590-0

Pakete

E-Book (PDF) und Programmcodebeispiele

Dieses Paket enthält neben dem E-Book auch zahlreiche C#-Programmcodebeispiele in Form einer ZIP-Archiv-Datei mit Visual Studio-Projekten für Visual Studio 2019.

  • Deutsch

  • PDF

$11.99
Minimal-Preis
$14.99
Empfohlener Preis
Nur das E-Book (PDF)
  • Deutsch

  • PDF

$10.99
Minimal-Preis
$11.99
Empfohlener Preis

Table of Contents

1 Inhaltsverzeichnis 3

2 Vorwort 9

3 Über den Autor 10

4 Über dieses Buch 11

4.1 Versionsgeschichte dieses Buchs 11

4.2 Geplante Themen 12

4.3 Programmcodebeispiele zu diesem Buch 13

5 Fakten zu C# 15

5.1 Der Name C# 15

5.2 Ursprünge von C# 15

5.3 Status der Programmiersprache C# 15

5.4 Versionsgeschichte 17

5.5 Standardisierung 18

5.6 Implementierung des C#-Compilers 19

5.7 Open Source 19

5.8 Kommende Versionen 19

5.9 Parität und Co-Evolution mit Visual Basic .NET 20

5.10 Neuerungen in C# 8.0 20

6 Grundkonzepte von C# 22

6.1 Sprachtypus 22

6.2 Groß- und Kleinschreibung 22

6.3 Schlüsselwörter der Sprache 22

6.4 Namensregeln und Namenskonventionen 23

6.5 Blockbildung und Umbrüche 23

6.6 Hello World 24

6.7 Eingebaute Funktionen 24

7 Der C#-Compiler 25

7.1 Der ursprüngliche (alte) C#-Compiler 25

7.1.1 Kompilierung mit csc.exe 25

7.1.2 Kommandozeilenparameter 25

7.2 Der aktuelle (neue) C#-Compiler 28

7.2.1 Versionsnummern des Compilers 29

7.2.2 Kommandozeilenparameter 29

8 Erste Schritte Visual Studio 33

8.1 Hello World mit dem .NET Framework 33

8.2 Hello World mit .NET Core 39

8.3 Festlegung der Compilerversion in Visual Studio 43

9 Datentypen 46

9.1 Variablendeklarationen 47

9.2 Typinitialisierung 47

9.3 Literale für Zeichen und Zeichenketten 48

9.4 String Interpolation 49

9.5 Zahlenliterale 49

9.6 Datumsliterale 50

9.7 Lokale Typableitung (Local Variable Type Inference) 50

9.8 Gültigkeit von Variablen 51

9.9 Typprüfungen 51

9.10 Typkonvertierung 52

9.11 Dynamische Typisierung 53

9.12 Pattern Matching 54

9.13 Wertelose Wertetypen (Nullable Value Types) 55

10 Operatoren 59

10.1 Überblick über die Operatoren 59

10.2 Operator ?? 62

10.3 Operator ?. 62

10.4 Operator nameof() 62

10.5 Range und Index (C# 8.0) 63

10.5.1 Index 63

10.5.2 Range 64

10.5.3 Weitere Beispiele 64

10.5.4 Einschränkungen 64

11 Schleifen 66

11.1 Iterator-Implementierung mit yield (Yield Continuations) 67

11.2 Praxisbeispiel für yield 68

12 Verzweigungen 71

12.1 Einfache Verzweigungen mit if…else 71

12.2 Mehrfachverzweigungen mit switch 72

12.3 Switch Expressions (C# 8.0) 72

13 Klassendefinition 74

13.1 Klassendefinitionen 74

13.2 Klassenverwendung 75

13.3 Geschachtelte Klassen (eingebettete Klassen) 76

13.4 Sichtbarkeiten/ Zugriffsmodifizierer 76

13.5 Statische Klassen 77

14 Strukturen 78

14.1 Wertetyp versus Referenztyp 78

14.2 Deklaration von Strukturen 80

14.3 Verwendung von Strukturen 81

14.4 Strukturen mit Readonly (ab C# 7.2) 82

14.5 Readonly für einzelne Mitglieder einer Struktur (ab C# 8.0) 83

15 Attribute (Fields und Properties) 86

15.1 Abweichungen von der Informatik 86

15.2 Felder (Field-Attribute) 87

15.3 Eigenschaften (Property-Attribute) 88

15.3.1 Explizite Properties 88

15.3.2 Automatische Properties 89

15.3.3 Zusammenfassung zu Properties 90

16 Methoden 92

16.1 Methodendefinition und Rückgabewerte 92

16.2 Methodenparameter 92

16.3 Optionale und benannte Parameter 93

16.4 Ref und out 94

16.5 Statische Methode als globale Funktionen 95

16.6 Lokale Funktion (ab C# 7.0) 96

16.7 Statische lokale Funktionen (ab C# 8.0) 96

16.8 Caller-Info-Annotationen 97

17 Konstruktoren und Destruktoren 100

18 Aufzählungstypen (Enumeration) 103

19 Expression-bodied Members 104

20 Objektinitialisierung 105

21 Behandlung von null 106

21.1 NullReferenceException 106

21.2 Null-Prüfung und Toleranz gegenüber Null 106

21.3 Null-Referenz-Prüfung / Nullable Reference Types (C# 8.0) 108

21.3.1 Compiler erkennt die Programmierfehler nicht 108

21.3.2 Aktivieren der Null-Referenz-Prüfung 110

21.3.3 Verbessertes Programm 111

21.3.4 Null Forgiveness-Operator 113

22 Partielle Klassen 114

23 Partielle Methoden 115

24 Erweiterungsmethoden (Extension Methods) 116

25 Annotationen (.NET-Attribute) 118

26 Generische Klassen 121

26.1 Definition einer generischen Klasse 121

26.2 Verwendung einer generischen Klasse 121

26.3 Einschränkungen für generische Typparameter (Generic Constraints) 122

26.4 Kovarianz für Typparameter 122

27 Objektmengen 126

27.1 Einfache Arrays 126

27.2 Objektmengen (untypisiert und typisiert) 126

28 Anonyme Typen 128

29 Tupel 129

29.1 Alte Tupelimplementierung mit System.Collections.Tupel 129

29.2 Neue Tupelimplementierung in der Sprachsyntax 129

29.3 Dekonstruktion 130

29.4 Serialisierung von Tupeln 132

29.5 Vergleich von Tupeln (C# 7.3) 132

30 Implementierungsvererbung 133

31 Schnittstellen (Interfaces) 135

31.1 Deklaration einer Schnittstelle 135

31.2 Verwendung von Schnittstellen 135

31.3 Standardimplementierungen in Schnittstellen 136

31.3.1 Realisierung einer Standardimplementierung in einer Schnittstelle 136

31.3.2 Einfaches Beispiel 136

31.3.3 Überschreiben der Implementierung 138

31.3.4 Komplexeres Beispiel 138

32 Namensräume (Namespaces) 141

32.1 Softwarekomponenten versus Namensräume 141

32.2 Vergabe der Namensraumbezeichner 142

32.3 Vergabe der Typnamen 143

32.4 Namensräume deklarieren 143

32.5 Import von Namensräumen 144

32.6 Verweis auf Wurzelnamensräume 144

33 Operatorüberladung 146

34 Funktionale Programmierung in C# (Delegates / Lambdas) 147

34.1 Delegates 147

34.2 Vordefinierte Delegates Action<T> und Func<T> 149

34.3 Prädikate mit Predicate<T> 150

34.4 Lambda-Ausdrücke 151

35 Ereignisse 155

35.1 Definition von Ereignissen 155

35.2 Ereignis auslösen 155

35.3 Ereignisbehandlung 156

36 IDisposable / Using-Blöcke 157

36.1 Hintergründe zur Speicher- und Ressourcenverwaltung in .NET 157

36.2 Schnittstelle IDisposable 157

36.3 Using-Blöcke 159

36.4 Vereinfachte Using-Deklarationen in C# 8.0 159

36.5 IDispose für Strukturen auf dem Stack 160

37 Laufzeitfehler 161

37.1 Fehler abfangen 161

37.2 Fehler auslösen 162

37.3 Eigene Fehlerklassen 163

38 Kommentare und XML-Dokumentation 164

39 Asynchrone Ausführung mit async und await 166

39.1 Async und await mit der .NET-Klassenbibliothek 166

39.2 Async und await mit eigenen Threads 167

39.3 Weitere Möglichkeiten 168

40 Zeigerprogrammierung 169

40.1 Zeigerprogrammierung mit unsafe 169

40.2 Zeigerprogrammierung mit ref (Managed Pointer) 171

41 Abfrageausdrücke / Language Integrated Query (LINQ) 174

41.1 Einführung und Motivation 174

41.2 LINQ-Provider 175

41.2.1 LINQ-Provider von Microsoft im .NET 175

41.2.2 Andere LINQ-Provider 175

41.2.3 Formen von LINQ 175

41.2.4 Einführung in die LINQ-Syntax 176

Übersicht über die LINQ-Befehle 180

41.3 LINQ to Objects 187

41.3.1 LINQ to Objects mit elementaren Datentypen 187

41.3.2 LINQ to Objects mit komplexen Typen des .NET Framework 191

41.3.3 LINQ to Objects mit eigenen Geschäftsobjekten 194

41.4 Parallel LINQ (PLINQ) 199

42 Syntaxreferenz: C# versus Visual Basic .NET 202

43 Quellen im Internet 208

44 Stichwortverzeichnis (Index) 209

Authors have earned$8,076,481writing, publishing and selling on Leanpub,
earning 80% royalties while saving up to 25 million pounds of CO2 and up to 46,000 trees.

Erfahren Sie mehr über das Schreiben mit Leanpub

Die bedingungslose Leanpub, Kein Risiko, 100% zufrieden Garantie

Innerhalb von 45 Tagen ab Kauf kannst du dein Geld zu 100% zurückverlangen, bei jedem Leanpub-Kauf, in nur zwei Klicks. Wir bearbeiten die Erstattungen manuell, daher dauert es ein paar Tage, bis der Betrag ankommt.
Lese die kompletten Bedingungen.

Free Updates. Free App. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers), EPUB (for phones and tablets), MOBI (for Kindle) and in the free Leanpub App (for Mac, Windows, iOS and Android). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Schreiben und veröffentlichen mit Leanpub

Autoren und Verlage nutzen Leanpub, um erstaunliche Fortschritte zu veröffentlichen und ebooks zu vervollständigen. Sie können Leanpub auch schreiben, veröffentlichen und verkaufen! Leanpub ist eine leistungsstarke Plattform für ernsthafte Autoren und kombiniert einen einfachen, eleganten Schreib- und Publishing-Workflow mit einem Laden, der sich auf den Verkauf von ebooks konzentriert. Leanpub ist eine magische Schreibmaschine für Autoren: Schreiben Sie einfach in Klartext, und um Ihr ebook zu veröffentlichen, klicken Sie einfach auf eine Schaltfläche. Es ist wirklich so einfach.

Erfahren Sie mehr über das Schreiben mit Leanpub