🐍 Csharp Libraries
🔢 Zahlen & Mathe
| Library | Beschreibung | Beispiele |
|---|---|---|
| System.Math | Mathematische Funktionen wie Wurzeln, Trigonometrie, Logarithmen | Math.Sqrt() – Quadratwurzel Math.Sin() – Sinus Math.Cos() – Kosinus Math.PI – Mathematische Konstante π Math.Log() – Natürlicher Logarithmus |
| System.Random | Zufallszahlen erzeugen | Random.Next() – Ganzzahl in Range Random.NextDouble() – Zufallswert 0.0–1.0 Random.NextBytes() – Byte-Array mit Zufallswerten |
| System.Decimal | Genaue Berechnungen mit Dezimalzahlen (z. B. für Finanzen) | decimal.Round() – Runden decimal.Add() – Addition decimal.Subtract() – Subtraktion |
🕒 Datum & Zeit
| Library | Beschreibung | Beispiele |
|---|---|---|
| System.DateTime | Arbeiten mit Datum und Uhrzeit | DateTime.Now – Aktuelles Datum & Zeit DateTime.Today – Nur aktuelles Datum DateTime.AddDays() – Tage addieren DateTime.ToString() – Formatieren |
| System.TimeSpan | Zeitspannen berechnen | TimeSpan.FromMinutes() – Minuten erzeugen TimeSpan.TotalSeconds – Gesamtdauer in Sekunden DateTime.Subtract() – Differenz als TimeSpan |
| System.Threading.Thread | Warten, Verzögern | Thread.Sleep() – Pausiert aktuellen Thread |
📁 Dateien & Ordner
| Library | Beschreibung | Beispiele |
|---|---|---|
| System.IO.File | Arbeiten mit Dateien | File.ReadAllText() – Textdatei lesen File.WriteAllText() – Textdatei schreiben File.Exists() – Prüfen, ob Datei existiert |
| System.IO.Directory | Verzeichnisse verwalten | Directory.GetFiles() – Dateien abrufen Directory.CreateDirectory() – Ordner erstellen Directory.Exists() – Existenz prüfen |
| System.IO.Path | Pfadoperationen | Path.Combine() – Pfade zusammensetzen Path.GetExtension() – Dateierweiterung Path.GetFileName() – Dateiname extrahieren |
📦 Daten & Formate
| Library | Beschreibung | Beispiele |
|---|---|---|
| System.Text.Json | Arbeiten mit JSON | JsonSerializer.Serialize() – Objekt zu JSON JsonSerializer.Deserialize() – JSON zu Objekt |
| System.Xml | XML-Dokumente verarbeiten | XmlDocument.Load() – XML laden XmlDocument.SelectSingleNode() – Knoten abfragen |
⚙️ Komponenten & Events
| Library | Beschreibung | Beispiele |
|---|---|---|
| System.ComponentModel | Benachrichtigungen, PropertyChanged, Binding Support | INotifyPropertyChanged – Änderungserkennung in Properties PropertyChangedEventHandler – Event-Handler für Änderungen |
🔄 Asynchrone Aufgaben & Tasks
| Library | Beschreibung | Beispiele |
|---|---|---|
| System.Threading.Tasks | Tasks und asynchrone Programmierung | Task.Run() – Task starten await Task.Delay() – Asynchron warten Task.WhenAll() – Mehrere Tasks gleichzeitig |
📬 Netzwerk & Web
| Library | Beschreibung | Beispiele |
|---|---|---|
| System.Net.Http.HttpClient | HTTP-Requests senden | HttpClient.GetAsync() – GET-Request HttpClient.PostAsync() – POST-Request HttpClient.SendAsync() – Manuelle Anfrage |
| System.Net.WebClient | Einfacher Web-Zugriff (veraltet, aber nützlich) | DownloadString() – HTML/Text laden UploadString() – Daten senden |
📈 Debugging & Logging
| Library | Beschreibung | Beispiele |
|---|---|---|
| System.Diagnostics.Debug | Debug-Ausgaben zur Entwicklungszeit | Debug.WriteLine() – In Output-Fenster schreiben Debug.Assert() – Bedingung prüfen |
| System.Diagnostics.Trace | Logging auch im Release-Modus | Trace.WriteLine() – Log schreiben Trace.Fail() – Fehler melden |
🧪 Reflektion & Meta
| Library | Beschreibung | Beispiele |
|---|---|---|
| System.Reflection | Typen, Methoden und Eigenschaften zur Laufzeit inspizieren | Assembly.GetExecutingAssembly() – Aktuelle Assembly Type.GetProperties() – Eigenschaften abrufen MethodInfo.Invoke() – Methode aufrufen |
🧠 Systemumgebung & Infos
| Library | Beschreibung | Beispiele |
|---|---|---|
| System.Environment | Informationen über das System & Umgebungsvariablen | Environment.MachineName – Computername Environment.OSVersion – Betriebssystem Environment.GetEnvironmentVariable() – Umgebungsvariable lesen Environment.CurrentDirectory – Aktuelles Arbeitsverzeichnis |
🔐 Sicherheit & Hashing
| Library | Beschreibung | Beispiele |
|---|---|---|
| System.Security.Cryptography | Verschlüsselung, Hashing und sichere Zufallszahlen | SHA256.Create() – SHA256 Hashing MD5.Create() – MD5 Hashing (veraltet) RandomNumberGenerator.GetBytes() – Kryptografischer Zufall |
🧰 Sonstiges Nützliches
| Library | Beschreibung | Beispiele |
|---|---|---|
| System.Text.RegularExpressions.Regex | Reguläre Ausdrücke | Regex.Match() – Erstes Match Regex.Matches() – Alle Treffer Regex.Replace() – Ersetzen |
| System.Linq | Erweiterungen für Listen, Filter, Maps | Where() – Filtern Select() – Umwandeln Any() – Existenz prüfen ToList() – In Liste konvertieren |
| System.Collections.Generic | Allgemeine Datentypen | List<T> – Dynamische Liste Dictionary<K,V> – Schlüssel/Wert Paare Queue<T> – FIFO Stack<T> – LIFO |
🧙 Avalonia UI Basics
| Library | Beschreibung | Beispiele |
|---|---|---|
| Avalonia.Controls | Alle grundlegenden UI-Elemente wie Button, TextBox, StackPanel, Grid etc. | Button – Klickbare Schaltfläche TextBox – Eingabefeld StackPanel – Vertikale/Horizontale Anordnung Grid – Rasterbasierte Layoutsteuerung |
| Avalonia.Markup.Xaml | Ermöglicht das Laden und Parsen von .xaml-Dateien | AvaloniaXamlLoader.Load() – XAML laden x:Class – Code-Behind Verknüpfung |
| Avalonia.Layout | Enums und Logik für Layout-Orientierungen | Orientation.Vertical / Horizontal – Ausrichtung Dock – Positionierung in DockPanels HorizontalAlignment / VerticalAlignment – Ausrichtung |
| Avalonia.Styling | Styling von Controls, ähnlich wie CSS | :hover, :pressed – Pseudostates Setter – Eigenschaft setzen Styles – Sammlung von Settern |
| Avalonia.Media | Grafik, Farben, Brushes | Brushes.Red – Vordefinierte Farben SolidColorBrush – Feste Farbe LinearGradientBrush – Farbverläufe |
| Avalonia.Data | Datenbindungssystem, sehr ähnlich zu WPF | Binding – Bindung zu Property INotifyPropertyChanged – Änderungen erkennen TwoWay, OneWay – Bindungsrichtung |
| Avalonia.Input | Tastatur, Maus, Fokus | KeyDown – Tastendruck PointerPressed – Mausaktionen FocusManager – Fokussteuerung |
| Avalonia.Interactivity | Event-Routing-System wie in WPF | RoutedEvent – Registrieren und auslösen von Events RaiseEvent() – Event auslösen |
🛠️ Erweiterte Avalonia UI Bibliotheken
| Library | Beschreibung | Beispiele |
|---|---|---|
| CommunityToolkit.Mvvm | Microsoft’s modernes MVVM Toolkit: ObservableObject, RelayCommand, INotifyPropertyChanged Boilerplate ade! | ObservableObject – Basis-Klasse für Bindings RelayCommand – Einfaches Command-Pattern INotifyPropertyChanged – Für Bindungen |
| Avalonia.Dialogs | Erweiterte Dialog-Funktionen wie FileOpenDialog, ColorPicker etc. | OpenFileDialog() – Datei öffnen SaveFileDialog() – Datei speichern ColorPicker() – Farbwahl |
| Avalonia.ReactiveUI | Integration mit ReactiveUI – für reaktives MVVM mit Observables und State-Streams. | ReactiveObject – Basis für reaktive Bindungen ReactiveCommand – Reaktive Commands WhenAnyValue() – Beobachtet Werte |
| Avalonia.Svg | Anzeige und Verarbeitung von SVG-Dateien in Avalonia UI. | SvgImageSource – SVG-Bildquelle SvgParser – SVG-Datei parsen SvgElement – SVG-Element anzeigen |
| Avalonia.FuncUI | Funktionaler Ansatz zur UI-Entwicklung mit Avalonia (F# basiert). | Program – Definiert das Hauptprogramm Component – Definiert UI-Komponenten Render – Rendern von UI |
| Avalonia.Diagnostics | Debugging-Tools zur Laufzeit, z. B. Live-Tree-Inspector und Style-Viewer. | TreeInspector – UI-Struktur untersuchen StyleViewer – Stile während der Laufzeit ansehen |
| AvaloniaEdit | Code-Editor-Komponente, basiert auf ICSharpCode.AvalonEdit. | TextEditor – Texteditor für Quellcode Highlighting – Syntax-Highlighting AutoComplete – Automatische Vervollständigung |
| Avalonia.Labs | Experimentelle Controls und neue UI-Komponenten, z. B. TabControl2, InfoBar. | TabControl2 – Erweiterte Tab-Steuerung InfoBar – Benachrichtigungsleiste Expander – Erweitern von Inhalten |
| FluentAvalonia | UI-Komponenten im Fluent Design (ähnlich Windows 11). | FluentButton – Fluent Design Button FluentTextBox – Fluent Design TextBox FluentDialog – Fluent Design Dialog |