Standardbibliothek C# (.NET): vollständiger Überblick
Die .NET-Standardbibliothek (Base Class Library, BCL) ist die grundlegende Basis für die Entwicklung mit C#. Sie bietet Tausende vorgefertigter Klassen, Schnittstellen, Strukturen und Aufzählungen, die nahezu alle Aspekte der Programmierung abdecken: von der Arbeit mit Zahlen und Zeichenfolgen bis hin zur Netzwerkkommunikation und dem Zugriff auf Datenbanken. In diesem Überblick betrachten wir die wichtigsten Namespaces und ihre Möglichkeiten.
Namespace System: die Grundlage
Der Namespace System enthält die Basisdatentypen, die in allen C#-Anwendungen verwendet werden. Dazu gehören:
- Primitive Typen:
Boolean,Byte,Int32,Double,Char,Stringund andere. Jeder von ihnen verfügt über Methoden zur Konvertierung, zum Vergleich und zur Formatierung. - Klasse
Math: bietet Konstanten (π, e) und statische Methoden für trigonometrische, logarithmische und statistische Berechnungen. - Klasse
Convert: ermöglicht die sichere Konvertierung von Datentypen (z. B. Zeichenfolge in Zahl). - Klasse
Console: verwaltet die Ein-/Ausgabe in einer Konsolenanwendung.
using System;
int a = 42;double b = Math.Sqrt(a);string text = Convert.ToString(a);Console.WriteLine($"Die Quadratwurzel aus {text} ist {b}");System.Collections und System.Collections.Generic: Arbeiten mit Sammlungen
Diese Namespaces enthalten Klassen zum Speichern und Verwalten von Gruppen von Objekten. Moderne Anwendungen sollten die generischen Versionen aus System.Collections.Generic verwenden, da sie Typsicherheit und eine höhere Leistung bieten.
List<T>— dynamisches Array.Dictionary<TKey, TValue>— Schlüssel-Wert-Sammlung.Queue<T>undStack<T>— Implementierung von Warteschlange und Stapel.HashSet<T>— Menge eindeutiger Elemente.
using System.Collections.Generic;
var numbers = new List<int> { 1, 2, 3, 4, 5 };numbers.Add(6);numbers.Remove(3);
var map = new Dictionary<string, int>{ { "eins", 1 }, { "zwei", 2 }};
if (map.ContainsKey("eins")) Console.WriteLine(map["eins"]);System.Linq: Language Integrated Query
LINQ (Language Integrated Query) ermöglicht es, Abfragen an Sammlungen, Datenbanken, XML und andere Datenquellen mit einer einheitlichen Syntax durchzuführen. Die wichtigsten Erweiterungsmethoden sind im Namespace System.Linq definiert:
Where— Filterung.Select— Projektion.OrderBy/ThenBy— Sortierung.GroupBy— Gruppierung.Aggregate,Sum,Count— Aggregatoperationen.
using System.Linq;
int[] scores = { 85, 92, 78, 95, 88 };var highScores = scores .Where(s => s >= 90) .OrderByDescending(s => s) .Select(s => $"Bewertung: {s}");
foreach (var item in highScores) Console.WriteLine(item);System.IO: Arbeiten mit dem Dateisystem und Streams
Der Namespace System.IO bietet Klassen zum Lesen/Schreiben von Dateien, zum Arbeiten mit Verzeichnissen und zur Verwaltung von Datenströmen. Die wichtigsten Klassen:
FileundFileInfo— statische und Instanzmethoden für die Arbeit mit Dateien.DirectoryundDirectoryInfo— Verwaltung von Ordnern.StreamReader/StreamWriter— Lesen und Schreiben von Textdateien.