Vorwort
Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com
C# 9.0 ist das achte große Update für Microsofts Flaggschiff-Programmiersprache und positioniert C# als eine Sprache mit ungewöhnlicher Flexibilität und Bandbreite. Auf der einen Seite bietet sie High-Level-Abstraktionen wie Abfrageausdrücke und asynchrone Fortsetzungen, während sie auf der anderen Seite mit Konstrukten wie benutzerdefinierten Wertetypen und optionalen Zeigern Effizienz auf niedriger Ebene ermöglicht.
Der Preis für dieses Wachstum ist, dass es mehr denn je zu lernen gibt. Tools wie Microsofts IntelliSense - und Online-Referenzen - sind zwar hervorragend geeignet, um dir bei der Arbeit zu helfen, setzen aber ein vorhandenes konzeptionelles Wissen voraus. Dieses Buch bietet genau diese Wissenskarte in einem prägnanten und einheitlichen Stil - frei von Unordnung und langen Einführungen.
Wie die letzten sechs Ausgaben ist auch C# 9.0 in a Nutshell nach Konzepten und Anwendungsfällen gegliedert, so dass es sich sowohl für die fortlaufende Lektüre als auch für das gelegentliche Durchblättern eignet. Außerdem setzt das Buch nur grundlegende Kenntnisse voraus, sodass es sowohl für Fortgeschrittene als auch für Profis geeignet ist.
Dieses Buch behandelt C#, die Common Language Runtime (CLR) und die .NET 5 Base Class Library (BCL). Wir haben diesen Schwerpunkt gewählt, um Platz für schwierige und fortgeschrittene Themen zu schaffen, ohne dabei an Tiefe oder Lesbarkeit einzubüßen. Kürzlich zu C# hinzugefügte Funktionen sind gekennzeichnet, damit du dieses Buch auch als Referenz für C# 8 und C# 7 verwenden kannst.
Zielpublikum
Dieses Buch richtet sich an ein mittleres bis fortgeschrittenes Publikum. Es sind keine Vorkenntnisse in C# erforderlich, aber eine gewisse allgemeine Programmiererfahrung ist notwendig. Für Anfänger/innen ist dieses Buch eher eine Ergänzung als ein Ersatz für eine Einführung in die Programmierung im Stil eines Tutorials.
Dieses Buch ist die ideale Ergänzung zu einer Vielzahl von Büchern, die sich auf eine angewandte Technologie wie ASP.NET Core oder Windows Presentation Foundation (WPF) konzentrieren. C# 9.0 in a Nutshell deckt die Bereiche der Sprache und von .NET ab, die in solchen Büchern ausgelassen werden, und andersherum.
Wenn du ein Buch suchst, das alle .NET-Technologien überfliegt, ist dieses Buch nichts für dich. Dieses Buch ist auch ungeeignet, wenn du etwas über APIs lernen willst, die speziell für die Entwicklung von Mobilgeräten gedacht sind.
Wie dieses Buch organisiert ist
Die Kapitel 2 bis 4 konzentrieren sich ausschließlich auf C#, beginnend mit den Grundlagen der Syntax, Typen und Variablen und endend mit fortgeschrittenen Themen wie unsicherem Code und Präprozessordirektiven. Wenn du neu in der Sprache bist, solltest du diese Kapitel der Reihe nach lesen.
Die restlichen Kapitel konzentrieren sich auf die Basisklassenbibliotheken von .NET 5 und behandeln Themen wie Language-Integrated Query (LINQ), XML, Sammlungen, Gleichzeitigkeit, E/A und Netzwerke, Speicherverwaltung, Reflexion, dynamische Programmierung, Attribute, Kryptografie und native Interoperabilität. Du kannst die meisten dieser Kapitel in Ruhe lesen, mit Ausnahme der Kapitel 5 und 6, die die Grundlage für die nachfolgenden Themen bilden. Am besten liest du auch die drei Kapitel über LINQ nacheinander, und einige Kapitel setzen Kenntnisse über Gleichzeitigkeit voraus, die wir in Kapitel 14 behandeln.
Was du brauchst, um dieses Buch zu benutzen
Die Beispiele in diesem Buch setzen .NET 5 voraus. Du wirst auch die .NET-Dokumentation von Microsoft nützlich finden, um einzelne Typen und Member nachzuschlagen (sie ist online verfügbar).
Auch wenn du deinen Quellcode in Notepad schreiben und dein Programm über die Kommandozeile erstellen kannst, bist du mit einem Code-Scratchpad zum sofortigen Testen von Codeschnipseln und einer integrierten Entwicklungsumgebung (IDE) zum Erstellen von ausführbaren Dateien und Bibliotheken viel produktiver.
Wenn du ein Code-Scratchpad für Windows brauchst, lade LINQPad 6 von www.linqpad.net herunter (kostenlos). LINQPad unterstützt C# 9.0 vollständig und wird von einem der Autoren gepflegt.
Wenn du eine Windows-IDE benötigst, lade Visual Studio 2019 herunter: Jede Edition ist für die Inhalte dieses Buches geeignet. Wenn du eine plattformübergreifende IDE brauchst, lade Visual Studio Code herunter.
Hinweis
Alle Codelisten für alle Kapitel sind als interaktive (bearbeitbare) LINQPad-Beispiele verfügbar. Du kannst sie mit einem einzigen Klick herunterladen: Klicke unten links auf die Registerkarte LINQPad's Samples, klicke auf "Download more samples" und wähle dann "C# 9.0 in a Nutshell".
In diesem Buch verwendete Konventionen
Das Buch verwendet die grundlegende UML-Notation, um die Beziehungen zwischen den Typen zu veranschaulichen, wie in Abbildung P-1 dargestellt. Ein schräges Rechteck steht für eine abstrakte Klasse, ein Kreis für eine Schnittstelle. Eine Linie mit einem hohlen Dreieck steht für Vererbung, wobei das Dreieck auf den Basistyp zeigt. Eine Linie mit einem Pfeil steht für eine einseitige Verbindung, eine Linie ohne Pfeil für eine zweiseitige Verbindung.
In diesem Buch werden die folgenden typografischen Konventionen verwendet:
- Kursiv
- Kennzeichnet neue Begriffe, URIs, Dateinamen und Verzeichnisse
Constant width
- Zeigt C#-Code, Schlüsselwörter und Bezeichner sowie die Programmausgabe an
Constant width bold
- Zeigt einen hervorgehobenen Abschnitt des Codes
Constant width italic
- Zeigt Text, der durch vom Benutzer eingegebene Werte ersetzt werden soll
Hinweis
Dieses Element steht für einen allgemeinen Hinweis.
Warnung
Dieses Element weist auf eine Warnung oder einen Warnhinweis hin.
Code-Beispiele verwenden
Zusätzliches Material (Code-Beispiele, Übungen usw.) steht unter http://www.albahari.com/nutshell zum Download bereit .
Wenn du eine technische Frage oder ein Problem mit den Codebeispielen hast, sende bitte eine E-Mail an bookquestions@oreilly.com.
Dieses Buch soll dir helfen, deine Arbeit zu erledigen. Wenn in diesem Buch Beispielcode angeboten wird, darfst du ihn in deinen Programmen und deiner Dokumentation verwenden. Du musst uns nicht um Erlaubnis fragen, es sei denn, du reproduzierst einen großen Teil des Codes. Wenn du zum Beispiel ein Programm schreibst, das mehrere Teile des Codes aus diesem Buch verwendet, brauchst du keine Erlaubnis. Der Verkauf oder die Verbreitung von Beispielen aus O'Reilly-Büchern erfordert jedoch eine Genehmigung. Die Beantwortung einer Frage mit einem Zitat aus diesem Buch und einem Beispielcode erfordert keine Genehmigung. Wenn du einen großen Teil des Beispielcodes aus diesem Buch in die Dokumentation deines Produkts aufnimmst, ist eine Genehmigung erforderlich.
Wir freuen uns über eine Namensnennung, verlangen sie aber in der Regel nicht. Eine Quellenangabe umfasst normalerweise den Titel, den Autor, den Verlag und die ISBN. Zum Beispiel: "C# 9.0 in a Nutshell von Joseph Albahari (O'Reilly). Copyright 2021 Joseph Albahari, 978-1-098-10096-4."
Wenn du der Meinung bist, dass die Verwendung von Code-Beispielen nicht unter die Fair-Use-Regelung oder die oben genannte Erlaubnis fällt, kannst du uns gerne unter permissions@oreilly.com kontaktieren .
Wir würden gerne von dir hören
Bitte richte Kommentare und Fragen zu diesem Buch an den Verlag:
- O'Reilly Media, Inc.
- 1005 Gravenstein Highway Nord
- Sebastopol, CA 95472
- 800-998-9938 (in den Vereinigten Staaten oder Kanada)
- 707-829-0515 (international oder lokal)
- 707-829-0104 (Fax)
Wir haben eine Webseite für dieses Buch, auf der wir Errata, Beispiele und zusätzliche Informationen auflisten. Du kannst diese Seite aufrufen unter:
Eine Liste der Codes und weitere Ressourcen findest du unter:
Schreib eine E-Mail an bookquestions@oreilly.com, um Kommentare oder technische Fragen zu diesem Buch zu stellen.
Neuigkeiten und Informationen über unsere Bücher und Kurse findest du unter http://oreilly.com.
Finde uns auf Facebook: http://facebook.com/oreilly
Folge uns auf Twitter: http://twitter.com/oreillymedia
Schau uns auf YouTube: http://youtube.com/oreillymedia
O'Reilly Online Learning
Hinweis
Seit mehr als 40 Jahren bietet O'Reilly Media Schulungen, Wissen und Einblicke in Technologie und Wirtschaft, um Unternehmen zum Erfolg zu verhelfen.
Unser einzigartiges Netzwerk von Experten und Innovatoren teilt sein Wissen und seine Erfahrung durch Bücher, Artikel und unsere Online-Lernplattform. Die Online-Lernplattform von O'Reilly bietet dir On-Demand-Zugang zu Live-Trainingskursen, ausführlichen Lernpfaden, interaktiven Programmierumgebungen und einer umfangreichen Text- und Videosammlung von O'Reilly und über 200 anderen Verlagen. Weitere Informationen findest du unter http://oreilly.com.
Danksagungen
Wie immer war es eine Ehre, hervorragende technische Prüfer im Team zu haben. Mein besonderer Dank gilt Fred Silberberg und Stephen Toub von Microsoft, die uns in einer arbeitsreichen Zeit wertvolles Feedback gegeben haben.
Das Buch baute auf früheren Ausgaben auf, deren technischen Prüfern ich eine ähnliche Ehre verdanke: in den letzten Ausgaben Vitek Karas, Stephen Toub, Paulo Morgado, Aaron Robinson, Jan Vorlicek, Sam Gentile, Rod Stephens, Jared Parsons, Matthew Groves, Dixin Yan, Lee Coward, Bonnie DeWitt, Wonseok Chae, Lori Lalonde und James Montemagno. Und vorher: Eric Lippert, Jon Skeet, Stephen Toub, Nicholas Paldino, Chris Burrows, Shawn Farkas, Brian Grunkemeyer, Maoni Stephens, David DeWinter, Mike Barnett, Melitta Andersen, Mitch Wheat, Brian Peek, Krzysztof Cwalina, Matt Warren, Joel Pobar, Glyn Griffiths, Ion Vasilian, Brad Abrams und Adam Nathan.
Ich weiß es zu schätzen, dass viele der technischen Prüferinnen und Prüfer erfahrene Personen bei Microsoft sind, und ich danke ihnen besonders dafür, dass sie sich die Zeit genommen haben, dieses Buch auf die nächste Qualitätsstufe zu heben.
Ich möchte Ben Albahari und Eric Johannsen danken, die zu früheren Ausgaben beigetragen haben, und dem O'Reilly-Team, insbesondere meinem effizienten und reaktionsschnellen Redakteur Corbin Collins. Und schließlich möchte ich meiner wunderbaren Frau Li Albahari danken, deren Anwesenheit mich während des gesamten Projekts bei Laune gehalten hat.
Get C# 9.0 in einer Kurzfassung now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.