Eliminating Heap Allocations with ReadOnlySpan<T> Slicing in C#
Learn how to use ReadOnlySpan<T> to eliminate unnecessary heap allocations during string parsing in C#, reducing GC pressure and improving application latency.
ReadMeFeed / Community knowledge
Real questions. Useful conversations. Find the people who know your stack.
Learn how to use ReadOnlySpan<T> to eliminate unnecessary heap allocations during string parsing in C#, reducing GC pressure and improving application latency.
Learn how to turn on C# 8.0 nullable reference types, interpret compiler warnings, and safely suppress or promote them in a real .NET codebase.
Learn how to spot UI freezes or request hangs caused by blocking on async methods, understand the synchronization-context deadlock, and apply targeted fixes.
Nullable reference types move null bugs from runtime to build time — but enabling them naively floods legacy code with warnings. Compare the enablement modes and adopt them incrementally.
CodeLens puts reference counts, Git authorship, and test status directly above your methods in Visual Studio. Used as a decision filter before refactoring, it tells you the blast radius of a change without leaving the editor.
Learn how to use Windows 8 Live Tiles to push live weather updates to the Start screen, see a full C# XAML example, and understand battery, UX, and throttling trade‑offs.
Dyalog's .NET interop lets APL sessions load assemblies and call C# code directly — but runtime-version mismatches and marshaling overhead decide whether the bridge is worth crossing.
When you need value‑based equality and nondestructive mutation in C#, records with ‘with’ expressions give you a concise, compiler‑generated solution. Learn how they work, see a worked example, and understand the limits and common pitfalls before you adopt them.
When a C# app freezes after calling .Result or .Wait on an async method, a deadlock is likely. This guide walks through diagnosing the blocking call, checking the SynchronizationContext, and applying fixes such as ConfigureAwait(false) or refactoring to async all the way.