Vorwort
Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com
C# 12 ist das neunte 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 Low-Level-Effizienz durch Konstrukte wie benutzerdefinierte Wertetypen und optionale Zeiger 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 sieben Ausgaben ist auch C# 12 in a Nutshell nach Konzepten und Anwendungsfällen gegliedert, so dass es sich sowohl für die sequentielle Lektüre als auch für das zufällige Durchblättern eignet. Außerdem setzt das Buch nur grundlegendes Hintergrundwissen 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 8 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# 11 und C# 10 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# 12 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
DieKapitel 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 8 und behandeln Themen wie sprachintegrierte Abfragen (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 erfordern .NET 8. 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 einem einfachen Texteditor 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 8 von www.linqpad.net herunter (kostenlos). LINQPad unterstützt C# 12 vollständig und wird vom Autor gepflegt.
Wenn du eine Windows-IDE brauchst, lade Visual Studio 2022 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# 12 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
Code-Beispiele verwenden
Zusätzliches Material (Code-Beispiele, Übungen usw.) steht unter http://www.albahari.com/nutshell zum Download bereit .
Dieses Buch soll dir helfen, deine Arbeit zu erledigen. Im Allgemeinen darfst du den Code in diesem Buch 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 durch das Zitieren dieses Buches und von Beispielcode erfordert keine Erlaubnis (obwohl wir die Namensnennung begrüßen). 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# 12 in a Nutshell von Joseph Albahari (O'Reilly). Copyright 2024 Joseph Albahari, 978-1-098-14744-0."
Wenn du der Meinung bist, dass deine Verwendung von Codebeispielen nicht unter die Fair-Use-Regelung oder die hier erteilte Erlaubnis fällt, kannst du uns gerne unter permissions@oreilly.com kontaktieren .
Wie du uns kontaktierst
Bitte richte Kommentare und Fragen zu diesem Buch an den Verlag:
- O'Reilly Media, Inc.
- 1005 Gravenstein Highway Nord
- Sebastopol, CA 95472
- 800-889-8969 (in den Vereinigten Staaten oder Kanada)
- 707-829-7019 (international oder lokal)
- 707-829-0104 (Fax)
- support@oreilly.com
- https://www.oreilly.com/about/contact.html
Wir haben eine Webseite für dieses Buch, auf der wir Errata, Beispiele und zusätzliche Informationen auflisten. Du kannst diese Seite unter https://oreil.ly/c-sharp-nutshell-12 aufrufen .
Eine Liste der Codes und weitere Ressourcen findest du unter:
Neuigkeiten und Informationen über unsere Bücher und Kurse findest du unter https://oreilly.com.
Finde uns auf LinkedIn: https://linkedin.com/company/oreilly-media
Folge uns auf Twitter: https://twitter.com/oreillymedia
Schau uns auf YouTube: https://youtube.com/oreillymedia
Danksagungen
Joseph Albahari
Seit seiner ersten Ausgabe im Jahr 2007 hat sich dieses Buch auf die Beiträge einiger hervorragender technischer Prüfer verlassen. Für ihre Beiträge zu den letzten Ausgaben möchte ich mich besonders bei Stephen Toub, Paulo Morgado, Fred Silberberg, Vitek Karas, 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 bedanken.
Und für ihre Beiträge zu früheren Ausgaben bin ich 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 sehr dankbar.
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# 12 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.