C# (.NET) Standardbibliothek: vollständiger Überblick
Die .NET-Standardbibliothek (Base Class Library, BCL) ist eine grundlegende Sammlung von Klassen, Schnittstellen und Werttypen, die Teil der .NET-Plattform ist. Sie bietet C#-Entwicklern vorgefertigte Komponenten zur Lösung typischer Aufgaben: von der Arbeit mit Sammlungen und Dateien bis hin zur Netzwerkkommunikation und asynchronen Programmierung. In diesem Artikel werden wir die wichtigsten Namespaces und Klassen im Detail besprechen, die jeder C#-Entwickler kennen sollte.
1. Namespace System – die Basis von allem
Der Stamm-Namespace System enthält die grundlegenden Typen:
- Basisdatentypen:
Object,String,Int32,Double,Booleanu.a. - Hilfsprogramme:
Console(Ein-/Ausgabe),Math(mathematische Funktionen),Random(Zufallszahlengenerierung). - Fehlerbehandlung:
Exceptionund seine Ableitungen (ArgumentException,NullReferenceExceptionusw.).
Anwendungsbeispiel:
using System;
class Program{ static void Main() { Console.WriteLine("Hallo, .NET!"); double result = Math.Sqrt(144); Console.WriteLine($"Quadratwurzel aus 144: {result}"); }}2. System.Collections – Arbeit mit Sammlungen
Namespace zum Speichern und Verwalten von Gruppen von Objekten. Unterteilt in generische und nicht-generische Sammlungen.
Wichtige Klassen:
List<T>– dynamisches Array mit schnellem Indexzugriff.Dictionary<TKey, TValue>– assoziatives Array (Hash-Tabelle).Queue<T>– Warteschlange (FIFO).Stack<T>– Stapel (LIFO).HashSet<T>– Menge eindeutiger Elemente.
Beispiel:
using System.Collections.Generic;
var numbers = new List<int> { 10, 20, 30 };numbers.Add(40);
var lookup = new Dictionary<string, int>{ ["eins"] = 1, ["zwei"] = 2};
Console.WriteLine(lookup["zwei"]); // 23. System.Linq – Language Integrated Query
LINQ ermöglicht SQL-ähnliche Abfragen für Sammlungen, Datenbanken und XML. Wichtige Erweiterungsmethoden:
Where()– Filterung.Select()– Projektion.OrderBy()– Sortierung.GroupBy()– Gruppierung.Aggregate()– Aggregatfunktionen (Sum, Count, Average).
Beispiel:
using System.Linq;
int[] scores = { 85, 92, 78, 95, 88 };var highScores = scores .Where(s => s >= 90) .OrderByDescending(s => s) .ToList();
Console.WriteLine(string.Join(", ", highScores)); // 95, 924. System.IO – Arbeit mit Dateien und Streams
Namespace für die Datenein- und -ausgabe. Wichtige Klassen:
File/FileInfo– Erstellen, Lesen, Schreiben von Dateien.Directory/DirectoryInfo– Arbeit mit Verzeichnissen.StreamReader/StreamWriter– Lesen/Schreiben von Textströmen.FileStream– Low-Level-Dateiarbeit.
Beispiel für Schreiben und Lesen:
using System.IO;
string path = "example.txt";File.WriteAllText(path, "Hallo, .NET!");
string content = File.ReadAllText(path);Console.WriteLine(content); // Hallo, .NET!5. System.Threading.Tasks – asynchrone Programmierung
Moderner Ansatz für Asynchronität mit den Schlüsselwörtern async und await. Wichtige Klassen
Auch in der Bibliothek
SMS-Versand mit Java: Überblick über API-Bibliotheken und Tools
Moment.js / Day.js für JavaScript (Node.js): Vollständiger Leitfaden mit Beispielen
Caching in C++: Redis, Datenebene und andere Tools
E-Mail-Versand in Java: Vollständiger Leitfaden zu JavaMail und Jakarta Mail
ShareLink für Swift: Vollständige Anleitung mit Beispielen