user@runtime:~/blog$ grep -l "csharp-14" posts/*.md

csharp-14

6 posts tagged with csharp-14.

2026-04-13 9m

User-Defined Compound Assignment Operators: The C# 14 Feature That Kills Needless Allocations

C# 14 lets you define instance-level +=, -=, ++, and other compound assignment operators that mutate in place instead of allocating new objects. Here's how they work, when they fall back, and where the pitfalls hide.

2026-04-13 8m

LeftJoin and RightJoin: The LINQ Operators That Should Have Existed From Day One

.NET 10 adds first-class LeftJoin and RightJoin methods to both System.Linq and EF Core 10, replacing the infamous GroupJoin-SelectMany-DefaultIfEmpty incantation with something you can actually read.

2026-04-10 10m

First-Class Span Types in C# 14: The End of Overload Sprawl

C# 14 promotes Span<T> and ReadOnlySpan<T> to first-class citizens with implicit conversions, smarter type inference, and new overload resolution rules that eliminate the need for duplicate API overloads across arrays and spans.

2026-04-07 10m

The field Keyword in C# 14: Backing Fields Without the Boilerplate

C# 14 introduces the field contextual keyword, letting you add validation, lazy initialisation, and change notification to properties without declaring explicit backing fields. Here's how it works, what it compiles to, and where it falls short.

2026-03-30 10m

Extension Members in C# 14: Properties, Operators, and Static Extensions

C# 14 overhauls extension syntax with extension blocks that support properties, operators, and static members. Here's how the new syntax works, when to migrate, and what you still can't do.

2026-03-29 8m

Null-Conditional Assignment in C# 14: Less Ceremony, Fewer Bugs

C# 14 lets you assign to properties and indexers through the ?. and ?[] operators, eliminating a whole class of repetitive null checks. Here's how to use it, where it shines, and what the compiler won't let you do.