C# 9.0 Crashkurs (E-Book (PDF) und Programmcodebeispiele)
$19.99
Minimal-Preis
$24.99
Empfohlener Preis

C# 9.0 Crashkurs

Die Syntax der Programmiersprache C# für die Softwareentwicklung in .NET 5.0, .NET Core 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.

  • Deutsch

  • PDF

$19.99
Minimal-Preis
$24.99
Empfohlener Preis
Nur das E-Book (PDF)
  • Deutsch

  • PDF

$15.99
Minimal-Preis
$19.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 4.5 Qualitätssicherung der Programmcodebeispiele 18 5 Fakten zu C# 19 5.1 Der Name C# 19 5.2 Ursprünge von C# 19 5.3 Status der Programmiersprache C# 19 5.4 Versionsgeschichte 21 5.5 Standardisierung 23 5.6 Implementierung des C#-Compilers 23 5.7 Open Source 23 5.8 Parität und Co-Evolution mit Visual Basic .NET 23 5.9 Popularität von C# 24 5.10 Neuerungen in C# 9.0 26 6 Grundkonzepte von C# 28 6.1 Sprachtypus 28 6.2 Groß- und Kleinschreibung 28 6.3 Schlüsselwörter der Sprache 28 6.4 Namensregeln und Namenskonventionen 29 6.5 Blockbildung und Umbrüche 29 6.6 Hello World 30 6.7 Eingebaute Funktionen 30 7 Der C#-Compiler 31 7.1 Der ursprüngliche (alte) C#-Compiler 31 7.1.1 Kompilierung mit csc.exe 31 7.1.2 Kommandozeilenparameter 31 7.2 Der aktuelle (neue) C#-Compiler 34 7.2.1 Versionsnummern des Compilers 35 7.2.2 Kommandozeilenparameter 36 8 Erste C#-Schritte mit Visual Studio 40 8.1 Hello World mit dem .NET Framework 40 8.2 Hello World mit .NET Core / .NET 5 ff. 46 8.3 Programme ohne Main() (Top-Level Statements) 50 8.4 Festlegung der Compilerversion in Visual Studio 50 9 Datentypen 53 9.1 Variablendeklarationen 54 9.2 Typinitialisierung 54 9.3 Literale für Zeichen und Zeichenketten 55 9.4 String Interpolation 56 9.5 Zahlenliterale 56 9.6 Datumsliterale 57 9.7 Lokale Typableitung (Local Variable Type Inference) 57 9.8 Gültigkeit von Variablen 58 9.9 Typprüfungen 58 9.10 Typkonvertierung 59 9.11 Dynamische Typisierung 60 9.12 Pattern Matching 61 9.12.1 Pattern Matching mit is 61 9.12.2 Pattern Matching bei switch 62 9.13 Wertelose Wertetypen (Nullable Value Types) 63 10 Operatoren 67 10.1 Überblick über die Operatoren 67 10.2 Null Coalescing Operator ?? 70 10.3 Null Coalescing Assignment ??= 70 10.4 Null Conditional Operator ?. 70 10.5 Operator nameof() 71 10.6 Index und Range (C# 8.0) 72 10.6.1 Index 72 10.6.2 Range 73 10.6.3 Weitere Beispiele 73 10.6.4 Einschränkungen 74 11 Schleifen 75 12 Verzweigungen 77 12.1 Einfache Verzweigungen mit if…else 77 12.2 Mehrfachverzweigungen mit switch 78 12.3 Switch Expressions (C# 8.0) 78 13 Klassendefinition 82 13.1 Klassendefinitionen 82 13.2 Instanzierung mit dem Operator new 83 13.2.1 Angabe der Konstruktorparameter 84 13.2.2 Schlüsselwort var 84 13.2.3 Verwendung des Operators new ohne Typangabe (Target Type New) 84 13.3 Objektinitialisierung 85 13.4 Geschachtelte Klassen (eingebettete Klassen) 85 13.5 Sichtbarkeiten/ Zugriffsmodifizierer 86 13.6 Statische Klassen 87 14 Attribute (Fields und Properties) 88 14.1 Abweichungen von der Lehre 88 14.2 Felder (Field-Attribute) 89 14.2.1 Deklaration von Feldern 89 14.2.2 Felder mit readonly 89 14.3 Eigenschaften (Property-Attribute) 90 14.3.1 Explizite Properties mit Field 91 14.3.2 Automatische Properties 92 14.3.3 Properties, die nach Initialisierung unveränderlich sind (Init Only Setter) 93 14.3.4 Zusammenfassung zu Properties 94 15 Methoden 96 15.1 Methodendefinition und Rückgabewerte 96 15.2 Methodenparameter 96 15.3 Optionale und benannte Parameter 97 15.4 Ref und out 98 15.5 Statische Methode als globale Funktionen 99 15.6 Lokale Funktion (ab C# 7.0) 100 15.7 Statische lokale Funktionen (ab C# 8.0) 100 15.8 Caller-Info-Annotationen 101 16 Konstruktoren und Destruktoren 104 17 Aufzählungstypen (Enumeration) 107 18 Expression-bodied Members 108 19 Behandlung von null 109 19.1 NullReferenceException 109 19.2 Null-Prüfung und Toleranz gegenüber Null 109 19.3 Null-Referenz-Prüfung / Non-Nullable Reference Types (C# 8.0) 111 19.3.1 Neue Compiler-Features 111 19.3.2 Compiler erkennt die Programmierfehler nicht 114 19.3.3 Aktivieren der Null-Referenz-Prüfung 116 19.3.4 Verbessertes Programm 116 19.3.5 Null Forgiveness-Operator 118 20 Partielle Klassen 120 21 Partielle Methoden 122 22 Erweiterungsmethoden (Extension Methods) 124 23 Annotationen (.NET-Attribute) 126 24 Generische Klassen 129 24.1 Definition einer generischen Klasse 129 24.2 Verwendung einer generischen Klasse 129 24.3 Einschränkungen für generische Typparameter (Generic Constraints) 130 24.4 Kovarianz für Typparameter 130 25 Objektmengen (Arrays und Collections) 134 25.1 Einfache Arrays 134 25.2 Untypisierte Collections 134 25.3 Typisierte Collections 135 25.4 Indexer 137 26 Implementierungsvererbung 139 27 Schnittstellen (Interfaces) 141 27.1 Deklaration einer Schnittstelle 141 27.2 Verwendung von Schnittstellen 141 27.3 Standardimplementierungen in Schnittstellen 142 27.3.1 Realisierung einer Standardimplementierung in einer Schnittstelle 142 27.3.2 Einfaches Beispiel 142 27.3.3 Überschreiben der Implementierung 144 27.3.4 Komplexeres Beispiel 144 28 Namensräume (Namespaces) 147 28.1 Softwarekomponenten versus Namensräume 147 28.2 Vergabe der Namensraumbezeichner 148 28.3 Vergabe der Typnamen 149 28.4 Namensräume deklarieren 149 28.5 Import von Namensräumen 150 28.6 Verweis auf Wurzelnamensräume 150 29 Anonyme Typen 152 30 Operatorüberladung 153 31 Record-Typen 154 31.1 Records deklarieren 154 31.2 Kurzschreibweise für Record-Typen 159 31.3 Records verwenden 162 32 Immutable Objects 165 32.1 Immutable Objects auf Basis von Readonly Fields 165 32.2 Immutable Objects auf Basis von Properties mit Init Only Setter 166 32.3 Immutable Objects auf Basis von Records 167 33 Strukturen 168 33.1 Wertetyp versus Referenztyp 168 33.2 Deklaration von Strukturen 170 33.3 Verwendung von Strukturen 171 33.4 Strukturen mit Readonly (ab C# 7.2) 172 33.5 Readonly für einzelne Mitglieder einer Struktur (ab C# 8.0) 173 34 Tupel 176 34.1 Alte Tupelimplementierung mit System.Collections.Tupel 176 34.2 Neue Tupelimplementierung in der Sprachsyntax 176 34.3 Dekonstruktion 177 34.4 Serialisierung von Tupeln 179 34.5 Vergleich von Tupeln (C# 7.3) 179 35 Funktionale Programmierung in C# (Delegates / Lambdas) 180 35.1 Delegates 180 35.2 Vordefinierte Delegates Action und Func 182 35.3 Prädikate mit Predicate 183 35.4 Lambda-Ausdrücke 184 36 Ereignisse 188 36.1 Definition von Ereignissen 188 36.2 Ereignis auslösen 188 36.3 Ereignisbehandlung 189 37 IDisposable / Using-Blöcke 190 37.1 Hintergründe zur Speicher- und Ressourcenverwaltung in .NET 190 37.2 Schnittstelle IDisposable 190 37.3 Using-Blöcke 192 37.4 Vereinfachte Using-Deklarationen (C# 8.0) 192 37.5 IDispose für Strukturen auf dem Stack 193 38 Laufzeitfehler 194 38.1 Fehler abfangen 194 38.2 Fehler auslösen 195 38.3 Eigene Fehlerklassen 196 39 Modul-Initialisierer 197 40 Kommentare und XML-Dokumentation 200 41 Asynchrone Ausführung mit async und await 202 41.1 Async und await mit der .NET-Klassenbibliothek 202 41.2 Async und await mit eigenen Threads 203 41.3 Weitere Möglichkeiten 204 42 Iteratoren 205 42.1 Iterator-Implementierung mit yield (Yield Continuations) 205 42.2 Praxisbeispiel für yield 206 42.3 Asynchrone Streams / await foreach (ab C# 8.0) 207 43 Zeigerprogrammierung 210 43.1 Zeigerprogrammierung mit unsafe 210 43.2 Zeigerprogrammierung mit ref (Managed Pointer) 212 44 Abfrageausdrücke / Language Integrated Query (LINQ) 215 44.1 Einführung und Motivation 215 44.2 LINQ-Provider 216 44.2.1 LINQ-Provider von Microsoft im .NET 216 44.2.2 Andere LINQ-Provider 216 44.2.3 Formen von LINQ 216 44.2.4 Einführung in die LINQ-Syntax 217 Übersicht über die LINQ-Befehle 221 44.3 LINQ to Objects 228 44.3.1 LINQ to Objects mit elementaren Datentypen 228 44.3.2 LINQ to Objects mit komplexen Typen des .NET Framework 232 44.3.3 LINQ to Objects mit eigenen Geschäftsobjekten 235 44.4 Parallel LINQ (PLINQ) 240 45 Performanceoptimierungen 243 45.1 x64 versus x86 243 45.2 Debug versus Release 244 46 Syntaxreferenz: C# versus Visual Basic .NET 246 47 Quellen im Internet 252 48 Stichwortverzeichnis (Index) 253 49 Werbung in eigener Sache  260 49.1 Dienstleistungen 260 49.2 Aktion "Buch für Buchrezension" 261 49.3 Aktion "Buch-Abo" 262

Authors have earned$9,559,869writing, 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. 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