SIMD-Vektorisierung mit Vector<T>
Single Instruction, Multiple Data (SIMD) ermöglicht es einem einzigen CPU-Befehl, mehrere Datenpunkte gleichzeitig zu verarbeiten. Vector<T> in C# ermöglicht hardwarebeschleunigte Parallelverarbeit…
Snippet öffnen →Lies diese C#-Snippets für Experten Zeile für Zeile — jedes kommt mit einer Erklärung, was der Code tut und warum.
Single Instruction, Multiple Data (SIMD) ermöglicht es einem einzigen CPU-Befehl, mehrere Datenpunkte gleichzeitig zu verarbeiten. Vector<T> in C# ermöglicht hardwarebeschleunigte Parallelverarbeit…
Snippet öffnen →Das Schlüsselwort 'unsafe' erlaubt C# die Durchführung von Zeigerarithmetik, ähnlich wie in C++. Die Verwendung von 'fixed' fixiert das verwaltete Objekt im Speicher und verhindert, dass der Garbag…
Snippet öffnen →Expression Trees stellen Code in einer baumartigen Datenstruktur dar, in der jeder Knoten ein Ausdruck ist. Experten nutzen dies für Metaprogrammierung, wie den Aufbau dynamischer LINQ-Provider ode…
Span<T> bietet eine typsichere und speichersichere Darstellung eines zusammenhängenden Bereichs von beliebigem Speicher. Durch die Kombination mit stackalloc können Sie Hochleistungs-Pufferoperatio…
Snippet öffnen →In C# kann jeder Typ 'erwartet' (awaited) werden, wenn er das 'GetAwaiter'-Muster implementiert. Diese Technik für Experten ermöglicht es, eigene asynchrone Primitive zu erstellen, ohne auf Task od…
Snippet öffnen →Eingeführt in C# 12 ermöglichen Unsafe Accessors den Zugriff auf private Member anderer Klassen ohne die Performance-Einbußen von Reflection. Durch die Verwendung des [UnsafeAccessor]-Attributs auf…
Snippet öffnen →Interpolated String Handler (C# 10) ermöglichen es, die Verarbeitung von interpolierten Strings selbst zu steuern. Durch einen 'out bool enabled'-Parameter im Konstruktor kann die Evaluierung des S…
Snippet öffnen →Statische abstrakte Member in Interfaces erlauben es in C#, Operatoren und statische Eigenschaften innerhalb eines Interfaces zu definieren. Dies ist die Grundlage für 'Generic Math' und ermöglicht…
Snippet öffnen →C# 11 führte 'ref fields' innerhalb von 'ref structs' ein, wodurch auf dem Stack allokierte Strukturen Referenzen auf andere Variablen halten können. Um ungültige Referenzen zu verhindern, stellt d…
Snippet öffnen →System.Threading.Channels bietet eine hochoptimierte, asynchrone Producer-Consumer-Queue. Im Gegensatz zu ConcurrentQueue unterstützt es nativ async/await beim Warten auf Platz (Writer) oder Elemen…
Snippet öffnen →