Start Debugging

Tag: dotnet

230 Beiträge · Seite2von23

Was ist Span<T> in C#, und wann macht es Ihren Code wirklich schneller?
Span<T> ist ein nur auf dem Stack lebender ref struct, der auf Speicher zeigt, den Sie bereits besitzen, also keine eigene Allokation hat. Es beschleunigt Code in genau drei Situationen: einen Heap-Puffer durch stackalloc ersetzen, ohne Kopieren zerteilen und enge Schleifen, in denen der JIT die Bereichsprüfungen entfernt. Überall sonst ändert es nichts, und über ein await hinweg kompiliert es nicht.
Was ist das DynamicallyAccessedMembers-Attribut?
DynamicallyAccessedMembers teilt dem .NET-Trimmer und dem AOT-Compiler mit, welche Member eines Type Sie per Reflection erreichen, damit diese erhalten bleiben statt weggetrimmt zu werden. Es verwandelt eine stille MissingMethodException zur Laufzeit in eine IL2070-Warnung zur Build-Zeit. Hier erfahren Sie, was das Attribut tut, wie die zugrunde liegende Datenflussanalyse funktioniert und wie Sie Parameter, Felder und generische Typparameter korrekt annotieren.
2026-06-20 csharpdotnetasync
Was ist ValueTask<T> und wann lohnt es sich?
ValueTask und ValueTask<T> sind Structs, mit denen eine asynchrone Methode ein Ergebnis zurückgeben kann, ohne bei synchronem Abschluss einen Task auf dem Heap zu allozieren. Der Gewinn ist eine Allokation weniger auf Hot Paths, die üblicherweise ohne Warten abschließen. Der Preis ist ein striktes Await-once-Kontrakt. Hier steht, was der Typ tatsächlich ist, wie er funktioniert und der enge Satz an Fällen, in denen er sich auszahlt.
Zurück Weiter