Aggregatoperatoren
Übersicht
Übersicht
Arrays
Array deklarieren
Die folgenden Möglichkeiten bestehen, um auf Tasks zu warten.
Um eine foreach-Schleife zu verwenden ist es erforderlich, dass das Interface IEnumerable eingebunden ist. Dieses Interface hat als einzige Methode GetEnumerator, welches ein Objekt zurückliefert, welches die Schnittstelle IEnumerator implementieren muss. Das IEnumerator-Interface hat wiederrum die Methoden MoveNext, Reset und die Property Current.
Übersicht
Die Klasse Person soll auf der Festplatte gespeichert und anschließend wieder eingelesen werden. Mit der Markierung [Serializable()] wird die komplette Klasse für die Serialisierung zugänglich gemacht. Da das Alter im Beispiel jedes Mal berechnet wird, muss die Variable age nicht serialisiert werden.
Aktuell befinden sich die Tutorials zu Blazor noch im Aufbau und bestehen lediglich aus einer Linkssammlung.
Wichtige Shortcuts für Visual Studio
Einführung
Personen Klasse
Der System.IO-Namespace in C# dient der Arbeit mit Dateien und Ordnern. Er stellt Klassen und Methoden zur Verfügung, um Dateien und Verzeichnisse zu erstellen, zu lesen, zu schreiben und zu löschen sowie zum Navigieren in Verzeichnisstrukturen und für die Arbeit mit Streams und Textcodierung.
Werttypen und Referenztypen
<!--
Delegate - Anweisung
Dependency Properties werden auch häufig für Datenbindungen in WPF verwendet. Durch die Verwendung von Dependency Properties als Ziel für Datenbindungen können Änderungen an den Quellobjekten automatisch im Zielobjekt reflektiert werden, ohne dass zusätzlicher Code erforderlich ist.
Fragestellung
Task Parallel Library
Übersicht
Entity Framework mit Posgres
Was sind Entwurfsmuster
Allgemein
Ereignisse (events)
Grundlagen
Expression-Bodys
Methoden der Klasse File
Func und Action sind zwei wichtige generische Delegat-Typen, die häufig verwendet werden, um Methoden als Parameter an andere Methoden zu übergeben oder als Rückgabewert aus Methoden zurückzugeben. Sie erleichtern die Arbeit mit Delegaten und die Definition von Funktionen mit variabler Anzahl von Parametern.
Generische Klassen erklärt anhand von einem Stack
Fragestellung
Fragestellung
Fragestellung
Jede Klasse erbt automatisch von der Klasse Object.
Console.WriteLine
Es gibt mehrere Möglichkeiten, Konstanten, schreibgeschützte Felder und schreibgeschützte Eigenschaften in einer Klasse zu definieren. Jede dieser Methoden hat ihre eigenen Verwendungszwecke und Einschränkungen. Hier sind die gängigsten Ansätze:
If Anweisungen
Übersicht
Lambda - Ausdrücke
Menü mit Statusbar
Layoutcontainer sind Steuerelemente in WPF, die verwendet werden, um andere Steuerelemente und Elemente in einem bestimmten Layout anzuordnen. Sie ermöglichen die strukturierte Organisation und Anzeige von Elementen in einer Benutzeroberfläche.
Hilfreiche Links
Einstieg
MessageBox ist ein einfacher Dialog, der dem Benutzer eine Nachricht anzeigt und durch Schaltflächen oder andere Optionen eine Benutzerinteraktion ermöglicht.
Model
Das MVVM-Muster (Model-View-ViewModel) ist ein Ansatz in der Softwareentwicklung, der dazu dient, die Komponenten einer Benutzeroberfläche klarer zu strukturieren und ihre Verantwortlichkeiten zu trennen.
Überblick
Das Observer-Muster ermöglicht eine automatische Benachrichtigung von Beobachtern, wenn sich der Zustand eines Subjekts ändert. Es etabliert eine One-to-Many-Beziehung zwischen dem Subjekt und den Beobachtern. Der Code des Subjekts und der Beobachter bleiben entkoppelt, wodurch Flexibilität und Erweiterbarkeit gewährleistet sind.
| Art des Operators | Operator | Beispiel | Erklärung |
Distinct
Operatorüberladung
Fragestellung
Die Parallel-Klasse in C# ist eine statische Klasse, die es erleichtert, parallele Operationen auf Daten durchzuführen. Sie bietet verschiedene Methoden, die es ermöglichen, Daten parallel zu durchlaufen, zu filtern, zu sortieren, zu gruppieren, zu projizieren oder zu aggregieren. Parallelität kann durch Multithreading oder durch das Aufteilen von Daten auf mehrere Prozessoren erreicht werden. Die Parallel-Klasse automatisiert den Prozess des Aufteilens von Daten und die Synchronisation zwischen den Threads oder Prozessen, um die Arbeit zu beschleunigen.
Polymorphie ist ein wichtiger Konzept in der objektorientierten Programmierung (OOP) und bezieht sich auf die Fähigkeit eines Objekts, sich in verschiedenen Formen zu verhalten oder in unterschiedlichen Kontexten verwendet zu werden. Polymorphie ermöglicht es, dass verschiedene Klassen, die von einer gemeinsamen Basisklasse abgeleitet sind, Methoden unterschiedlich implementieren und dennoch über eine gemeinsame Schnittstelle aufgerufen werden können.
Übersicht
Docker-Compose file für die DB
In WPF unterscheidet man zwischen den folgenden Ressourcen:
for-Schleifen
Serialisierung ist ein wichtiger Prozess in der Softwareentwicklung, bei dem Objekte in einen binären oder textbasierten Datenstrom konvertiert werden. Dadurch können sie in einer Datei oder Datenbank gespeichert, über das Netzwerk übertragen oder zur Wiederherstellung von Objekten aus einer Datenquelle wieder gelesen werden.
| Serialisierungsverfahren | Beschreibung |
Das Singleton-Muster stellt sicher, dass eine Klasse nur eine einzige Instanz hat und bietet globalen Zugriff darauf. Es wird oft verwendet, wenn nur eine Instanz einer Klasse benötigt wird, um eine zentrale Ressource zu verwalten oder um Kollisionen bei Ressourcenzugriffen zu vermeiden. Das Singleton-Muster stellt sicher, dass die Instanzierung der Klasse kontrolliert und die gleiche Instanz bei jedem Zugriff zurückgegeben wird.
Bedingter NULL-Operator
Fragestellung
Wichtige Standarddialoge
Escape Zeichen
Gibt es viele Änderungen an einem String sollte besser die StringBuilder Klasse verwendet werden. Bei einem String wird bei jeder manipulation ein neues Objekt erstellt, welches bei vielen Änderungen mehr Zeit in Anspruch nimmt, als den die StringBuilder klasse zu verwenden.
Eine struct (Struktur)ist eine benutzerdefinierte Datenstruktur, die dazu verwendet wird, Gruppen von verwandten Datenfeldern zu erstellen. Im Gegensatz zu Klassen sind Strukturen Werttypen und haben einige Vorteile:
In WPF können Sie Styles verwenden, um das Erscheinungsbild Ihrer UI-Elemente zu definieren und zu ändern. Ein Style ist eine Sammlung von Eigenschaften, die auf ein oder mehrere UI-Elemente angewendet werden können, um ihr Aussehen und Verhalten zu beeinflussen.
Task-Objekte lassen sich genauso wie Threads synchronisieren, um sicherzustellen, dass verschiedene Tasks sicher auf gemeinsam genutzte Ressourcen zugreifen. Die Verwendung von Synchronisierung ist besonders wichtig, wenn Sie mit Multi-Threaded- oder Parallel-Code arbeiten, um Wettlaufbedingungen und Datenbeschädigungen zu verhindern.
Die EventSetter-Klasse in WPF wird verwendet, um Ereignisse für Steuerelemente zu definieren und mit Ereignishandlern zu verknüpfen. Sie ermöglicht es, den XAML-Code zu verwenden, um Ereignisse zu abonnieren und die zugehörigen Ereignishandler zu definieren, ohne dass dafür Code-Behind erforderlich ist.
Ein Tuple ist eine spezielle Datenstruktur, die es ermöglicht, mehrere Werte unterschiedlichen Datentyps in einer einzelnen Instanz zu gruppieren. Tuples werden häufig als Rückgabewert von Methoden verwendet, um mehrere Werte zurückzugeben, wenn eine Methode normalerweise nur einen Wert zurückgeben würde. Sie sind nützlich, wenn Sie vorübergehend eine einfache Struktur benötigen, um Daten zu speichern, ohne eine benutzerdefinierte Klasse oder Struktur zu erstellen. Hier ist ein einfaches Beispiel:
Fragestellung
Schnittstelle IEnumerable und davon abgeleitete Schnittstellen
Allgemein
WPF ist ein Microsoft-Framework zur Entwicklung von Desktopanwendungen für Windows mit modernen und ansprechenden Benutzeroberflächen. Es verwendet XAML für die Beschreibung der Oberfläche und bietet leistungsstarke Funktionen wie Datenbindung, Stile, Animationen und 2D/3D-Grafiken. WPF ermöglicht eine einfache Trennung von Design und Logik und bietet eine hohe Anpassungsfähigkeit für verschiedene Bildschirmgrößen.
Hierachie von WPF-Komponenten
Voraussetzungen für die Serialisierung
Zugriffsmodifizierer (Access Modifiers) sind Schlüsselwörter in C#, die die Sichtbarkeit und den Zugriff auf Klassen, Methoden, Felder und andere Mitglieder in Ihrem Code steuern. Sie definieren, wer auf diese Elemente zugreifen darf und wer nicht. In C# gibt es verschiedene Zugriffsmodifizierer: