Unsicherer Code und Zeiger in C# C# erlaubt die Verwendung von Zeigervariablen in einer Funktion oder einem Codeblock, wenn dieser mit dem unsafe-Modifizierer gekennzeichnet ist. Unsicherer Code (oder unverwalteter Code) ist ein Codeblock, der eine Zeiger-Variable verwendet. Zeiger Ein Zeiger ist e
Was sind anonyme Methoden? Wir haben besprochen, dass Delegates verwendet werden, um Methoden zu referenzieren, die dieselbe Signatur wie der Delegate haben. Mit anderen Worten: Sie können eine Methode, die von einem Delegate referenziert werden kann, mithilfe dieses Delegate-Objekts aufrufen. Anony
Was sind Generics in C#? Generics ermöglichen es Ihnen, die Spezifikation des Datentyps von Programmierungselementen in einer Klasse oder Methode zu definieren, bis diese tatsächlich im Programm verwendet werden. Anders ausgedrückt: Generics erlauben es Ihnen, eine Klasse oder Methode zu schreiben,
Übersicht über Collection-Klassen Collection-Klassen sind spezialisierte Klassen für Datenspeicherung und -abruf. Diese Klassen bieten Unterstützung für Stacks, Queues, Listen und Hash-Tabellen. Die meisten Collection-Klassen implementieren dieselben Interfaces. Collection-Klassen dienen verschieden
Was sind Events in C#? Events sind Benutzeraktionen wie Tastendruck, Klicks, Mausbewegungen usw. oder bestimmte Vorkommnisse wie systemgenerierte Benachrichtigungen. Anwendungen müssen auf Events reagieren, wenn diese auftreten – beispielsweise bei Interrupts. Events werden für die Kommunikation zwi
Was sind Delegates in C#? C#-Delegates ähneln Funktionszeigern in C oder C++. Ein Delegate ist eine Referenztyp-Variable, die einen Verweis auf eine Methode hält. Dieser Verweis kann zur Laufzeit geändert werden. Delegates werden insbesondere für die Implementierung von Events und Callback-Methoden
Was ist ein Indexer?
Was sind Properties? Properties sind Member, die einen flexiblen Mechanismus zum Lesen, Schreiben oder Berechnen von Werten privater Felder bereitstellen. Sie sind syntaktisch wie Felder nutzbar, aber intern Methoden (Accessors). Syntax: Klassische Property mit Backing Field name = value; // Sch
Was ist Reflection? Reflection (Namespace System.Reflection) ermöglicht es, zur Laufzeit Metadaten von Typen (Klassen, Structs, Interfaces, Enums, Methoden, Properties, Attribute, …) zu untersuchen, Instanzen zu erzeugen und Member aufzurufen – ohne die Typen zur Kompilierzeit zu kennen. Hauptanwen
Was sind Attribute? Attribute sind deklarative Tags ([AttributeName]), die Metadaten an Code-Elemente (Klassen, Methoden, Properties, Assemblys, …) anhängen. Sie werden zur Kompilierzeit in die Assembly-Metadaten geschrieben und können zur Laufzeit via Reflection ausgewertet werden. Syntax [Attribu
Datei & Stream Eine Datei ist persistente Daten auf Datenträger. Beim Öffnen wird ein Stream (Byte-Fluss) erstellt: Input Stream – Lesen (FileStream, StreamReader) Output Stream – Schreiben (FileStream, StreamWriter) Wichtige System.IO Klassen KlasseZweck FileStatische Helfer: ReadAllText
Ausnahmebehandlung in C#
Was sind Reguläre Ausdrücke?
Präprozessor-Direktiven Anweisungen an den Compiler, die vor** der eigentlichen Kompilierung verarbeitet werden. Beginnen mit #, enden nicht mit Semikolon. In C# gibt es keinen separaten Präprozessor; die Direktiven werden vom Compiler ausgewertet. Übersicht der Direktiven DirektiveBeschreibung
Was ist ein Namespace? Ein Namespace ist ein logischer Container, der Typen (Klassen, Structs, Interfaces, Enums, Delegates) gruppiert und Namenskonflikte vermeidet. Gleichnamige Typen in verschiedenen Namespaces kollidieren nicht. Namespace definieren namespace MyCompany.MyProject.Utilities {
Was ist ein Interface? Ein Interface definiert einen Vertrag (Was – keine Implementierung). Es enthält nur Deklarationen von Methoden, Properties, Events, Indexern. Die implementierende Klasse liefert das Wie. Interface-Member sind implizit public (kein Zugriffsmodifizierer erlaubt). Eine Klasse k
Operatorüberladung C# erlaubt die Neudefinition der meisten eingebauten Operatoren für benutzerdefinierte Typen (struct, class). Ein überladener Operator ist eine static Methode mit dem Namen operator <Symbol>. Syntax public static ReturnType operator Op(ParameterList) { // Implementierun
Was ist Polymorphie? Polymorphie (viele Formen) ermöglicht, dass ein Interface mehrere Implementierungen hat. In C# zwei Formen: Statische Polymorphie (Compile-Time) – Methode wird zur Kompilierzeit gebunden (Early Binding). Dynamische Polymorphie (Runtime) – Methode wird zur Laufzeit anhand des ta
Vererbung Grundlagen Vererbung erlaubt eine neue Klasse (abgeleitete Klasse) basierend auf einer bestehenden Klasse (Basisklasse) zu definieren. Die abgeleitete Klasse erbt Member (Felder, Methoden, Properties) der Basisklasse und kann diese erweitern oder überschreiben. Modelliert die IST-EIN (IS-A
Klasse definieren
C Sprache