Zum Hauptinhalt springen

82 docs getaggt mit "C#"

Alle Tags anzeigen

Auflistungen mit "yield"-return durchlaufen

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.

Binäre Serialisierung

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.

Blazor

Aktuell befinden sich die Tutorials zu Blazor noch im Aufbau und bestehen lediglich aus einer Linkssammlung.

Dateien und Streams

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.

Dependency Properties

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.

Func und Action Delegate

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.

Generics

Generische Klassen erklärt anhand von einem Stack

Konstanten

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:

Layoutcontainer

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.

MessageBox

MessageBox ist ein einfacher Dialog, der dem Benutzer eine Nachricht anzeigt und durch Schaltflächen oder andere Optionen eine Benutzerinteraktion ermöglicht.

MVVM Pattern (Model-View-ViewModel)

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.

Observer Pattern

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.

Operatoren

| Art des Operators | Operator | Beispiel | Erklärung |

Paralell Klasse

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.

Polymorphismus

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.

Ressourcen

In WPF unterscheidet man zwischen den folgenden Ressourcen:

Serialisierung

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.

Singleton Pattern

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.

StringBuilder

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.

Struct

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:

Styles

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.

Synchronisieren von Tasks oder Threads

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.

Trigger

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.

Tuples

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:

WPF (Windows Presentation Foundation)

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.

Zugriffsmodifizierer

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: