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

C# 8.0 Crashkurs

Die Syntax der Programmiersprache C# für die Softwareentwicklung in .NET Framework, .NET Core, Mono und Xamarin

Ü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

Dr. Holger Schwichtenberg ist Chief Technology Expert bei der MAXIMAGO GmbH, die Innovations- und Experience-getriebene Software-Entwicklung, u.a. in hochkritischen sicherheitstechnischen Bereichen, anbietet. Zudem ist er Leiter des Expertennetzwerks www.IT-Visions.de, das zahlreiche mittlere und große Unternehmen durch Beratung und Schulung bei der Entwicklung sowie dem Betrieb von Software unterstützt.

Durch seine Auftritte auf zahlreichen nationalen und internationalen Fachkonferenzen sowie mehr als 70 Fachbücher für O'Reilly, APress, Addison-Wesley, Microsoft Press und den Carl Hanser-Verlag gehört er zu den bekanntesten Experten für .NET und Webtechniken in Deutschland. Darüber hinaus ist er ständiger Mitarbeiter der Fachzeitschriften windows developer, dotnetpro und iX sowie bei heise.de. Er hat in seiner Karriere bereits über 1000 Fachartikel veröffentlicht.

Durch seine Vermittlungskompetenz hat er sich den Spitznamen "DOTNET-DOKTOR" verdient. Von Microsoft wird er für sein .NET-Fachwissen seit nunmehr 17 Jahren ausgezeichnet als Microsoft Most Valuable Professional (MVP) für .NET/Visual Studio.

Sein Weblog finden Sie unter https://www.dotnet-doktor.de. Bei Twitter folgen Sie ihm unter @DOTNETDOKTOR.

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.

  • PDF

  • Deutsch

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

  • Deutsch

$10.99
Minimal-Preis
$11.99
Empfohlener Preis

Table of Contents

1 Inhaltsverzeichnis 3 2 Vorwort 10 3 Über den Autor 11 4 Über dieses Buch 12 4.1 Versionsgeschichte dieses Buchs 12 4.2 Bezugsquelle für Aktualisierungen 15 4.3 Geplante Themen 15 4.4 Programmcodebeispiele zu diesem Buch 15 5 Fakten zu C# 17 5.1 Der Name C# 17 5.2 Ursprünge von C# 17 5.3 Status der Programmiersprache C# 17 5.4 Versionsgeschichte 19 5.5 Standardisierung 21 5.6 Implementierung des C#-Compilers 21 5.7 Open Source 21 5.8 Parität und Co-Evolution mit Visual Basic .NET 21 5.9 Popularität von C# 22 5.10 Neuerungen in C# 8.0 24 5.11 Ausblick auf C# 9.0 25 6 Grundkonzepte von C# 27 6.1 Sprachtypus 27 6.2 Groß- und Kleinschreibung 27 6.3 Schlüsselwörter der Sprache 27 6.4 Namensregeln und Namenskonventionen 28 6.5 Blockbildung und Umbrüche 28 6.6 Hello World 29 6.7 Eingebaute Funktionen 29 7 Der C#-Compiler 30 7.1 Der ursprüngliche (alte) C#-Compiler 30 7.1.1 Kompilierung mit csc.exe 30 7.1.2 Kommandozeilenparameter 30 7.2 Der aktuelle (neue) C#-Compiler 33 7.2.1 Versionsnummern des Compilers 34 7.2.2 Kommandozeilenparameter 35 8 Erste C#-Schritte mit Visual Studio 39 8.1 Hello World mit dem .NET Framework 39 8.2 Hello World mit .NET Core 45 8.3 Festlegung der Compilerversion in Visual Studio 49 9 Datentypen 52 9.1 Variablendeklarationen 53 9.2 Typinitialisierung 53 9.3 Literale für Zeichen und Zeichenketten 54 9.4 String Interpolation 55 9.5 Zahlenliterale 55 9.6 Datumsliterale 56 9.7 Lokale Typableitung (Local Variable Type Inference) 56 9.8 Gültigkeit von Variablen 57 9.9 Typprüfungen 57 9.10 Typkonvertierung 58 9.11 Dynamische Typisierung 59 9.12 Pattern Matching 60 9.13 Wertelose Wertetypen (Nullable Value Types) 61 10 Operatoren 65 10.1 Überblick über die Operatoren 65 10.2 Null Coalescing Operator ?? 68 10.3 Null Coalescing Assignment ??= 68 10.4 Null Conditional Operator ?. 68 10.5 Operator nameof() 69 10.6 Index und Range (C# 8.0) 70 10.6.1 Index 70 10.6.2 Range 71 10.6.3 Weitere Beispiele 71 10.6.4 Einschränkungen 72 11 Schleifen 73 12 Verzweigungen 75 12.1 Einfache Verzweigungen mit if…else 75 12.2 Mehrfachverzweigungen mit switch 76 12.3 Switch Expressions (C# 8.0) 76 13 Klassendefinition 80 13.1 Klassendefinitionen 80 13.2 Klassenverwendung 81 13.3 Geschachtelte Klassen (eingebettete Klassen) 82 13.4 Sichtbarkeiten/ Zugriffsmodifizierer 82 13.5 Statische Klassen 83 14 Strukturen 84 14.1 Wertetyp versus Referenztyp 84 14.2 Deklaration von Strukturen 86 14.3 Verwendung von Strukturen 87 14.4 Strukturen mit Readonly (ab C# 7.2) 88 14.5 Readonly für einzelne Mitglieder einer Struktur (ab C# 8.0) 89 15 Attribute (Fields und Properties) 92 15.1 Abweichungen von der Informatik 92 15.2 Felder (Field-Attribute) 93 15.3 Eigenschaften (Property-Attribute) 94 15.3.1 Explizite Properties mit Field 94 15.3.2 Automatische Properties 96 15.3.3 Zusammenfassung zu Properties 96 16 Methoden 98 16.1 Methodendefinition und Rückgabewerte 98 16.2 Methodenparameter 98 16.3 Optionale und benannte Parameter 99 16.4 Ref und out 100 16.5 Statische Methode als globale Funktionen 101 16.6 Lokale Funktion (ab C# 7.0) 102 16.7 Statische lokale Funktionen (ab C# 8.0) 102 16.8 Caller-Info-Annotationen 103 17 Konstruktoren und Destruktoren 106 18 Aufzählungstypen (Enumeration) 109 19 Expression-bodied Members 110 20 Objektinitialisierung 111 21 Behandlung von null 112 21.1 NullReferenceException 112 21.2 Null-Prüfung und Toleranz gegenüber Null 112 21.3 Null-Referenz-Prüfung / Non-Nullable Reference Types (C# 8.0) 114 21.3.1 Neue Compiler-Features 114 21.3.2 Compiler erkennt die Programmierfehler nicht 117 21.3.3 Aktivieren der Null-Referenz-Prüfung 119 21.3.4 Verbessertes Programm 119 21.3.5 Null Forgiveness-Operator 121 22 Partielle Klassen 123 23 Partielle Methoden 125 24 Erweiterungsmethoden (Extension Methods) 126 25 Annotationen (.NET-Attribute) 128 26 Generische Klassen 131 26.1 Definition einer generischen Klasse 131 26.2 Verwendung einer generischen Klasse 131 26.3 Einschränkungen für generische Typparameter (Generic Constraints) 132 26.4 Kovarianz für Typparameter 132 27 Objektmengen (Arrays und Collections) 136 27.1 Einfache Arrays 136 27.2 Untypisierte Collections 136 27.3 Typisierte Collections 137 27.4 Indexer 139 28 Anonyme Typen 141 29 Tupel 142 29.1 Alte Tupelimplementierung mit System.Collections.Tupel 142 29.2 Neue Tupelimplementierung in der Sprachsyntax 142 29.3 Dekonstruktion 143 29.4 Serialisierung von Tupeln 145 29.5 Vergleich von Tupeln (C# 7.3) 145 30 Implementierungsvererbung 146 31 Schnittstellen (Interfaces) 148 31.1 Deklaration einer Schnittstelle 148 31.2 Verwendung von Schnittstellen 148 31.3 Standardimplementierungen in Schnittstellen 149 31.3.1 Realisierung einer Standardimplementierung in einer Schnittstelle 149 31.3.2 Einfaches Beispiel 149 31.3.3 Überschreiben der Implementierung 151 31.3.4 Komplexeres Beispiel 151 32 Namensräume (Namespaces) 154 32.1 Softwarekomponenten versus Namensräume 154 32.2 Vergabe der Namensraumbezeichner 155 32.3 Vergabe der Typnamen 156 32.4 Namensräume deklarieren 156 32.5 Import von Namensräumen 157 32.6 Verweis auf Wurzelnamensräume 157 33 Operatorüberladung 159 34 Funktionale Programmierung in C# (Delegates / Lambdas) 160 34.1 Delegates 160 34.2 Vordefinierte Delegates Action und Func 162 34.3 Prädikate mit Predicate 163 34.4 Lambda-Ausdrücke 164 35 Ereignisse 168 35.1 Definition von Ereignissen 168 35.2 Ereignis auslösen 168 35.3 Ereignisbehandlung 169 36 IDisposable / Using-Blöcke 170 36.1 Hintergründe zur Speicher- und Ressourcenverwaltung in .NET 170 36.2 Schnittstelle IDisposable 170 36.3 Using-Blöcke 172 36.4 Vereinfachte Using-Deklarationen (C# 8.0) 172 36.5 IDispose für Strukturen auf dem Stack 173 37 Laufzeitfehler 174 37.1 Fehler abfangen 174 37.2 Fehler auslösen 175 37.3 Eigene Fehlerklassen 176 38 Kommentare und XML-Dokumentation 177 39 Asynchrone Ausführung mit async und await 179 39.1 Async und await mit der .NET-Klassenbibliothek 179 39.2 Async und await mit eigenen Threads 180 39.3 Weitere Möglichkeiten 181 40 Iteratoren 182 40.1 Iterator-Implementierung mit yield (Yield Continuations) 182 40.2 Praxisbeispiel für yield 183 40.3 Asynchrone Streams / await foreach (ab C# 8.0) 184 41 Zeigerprogrammierung 187 41.1 Zeigerprogrammierung mit unsafe 187 41.2 Zeigerprogrammierung mit ref (Managed Pointer) 189 42 Abfrageausdrücke / Language Integrated Query (LINQ) 192 42.1 Einführung und Motivation 192 42.2 LINQ-Provider 193 42.2.1 LINQ-Provider von Microsoft im .NET 193 42.2.2 Andere LINQ-Provider 193 42.2.3 Formen von LINQ 193 42.2.4 Einführung in die LINQ-Syntax 194 Übersicht über die LINQ-Befehle 198 42.3 LINQ to Objects 205 42.3.1 LINQ to Objects mit elementaren Datentypen 205 42.3.2 LINQ to Objects mit komplexen Typen des .NET Framework 209 42.3.3 LINQ to Objects mit eigenen Geschäftsobjekten 212 42.4 Parallel LINQ (PLINQ) 217 43 Performanceoptimierungen 220 43.1 x64 versus x86 220 43.2 Debug versus Release 221 44 Syntaxreferenz: C# versus Visual Basic .NET 223 45 Quellen im Internet 229 46 Stichwortverzeichnis (Index) 230 47 Werbung in eigener Sache  237 47.1 Dienstleistungen 237 47.2 Aktion "Buch für Buchrezension" 238 47.3 Aktion "Buch-Abo" 239

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.

Do Well. Do Good.

Authors have earned$10,791,672writing, 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

Free Updates. 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) and MOBI (for Kindle). 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