Mert Özen Further With Every Line

Blog

Mert Özen's blog posts on software development, backend, frontend, and DevOps.

Series
6 posts found
C# Versions: A Short History from 1.0 to 10
Backend PART 01

C# Versions: A Short History from 1.0 to 10

The signature features, release dates and .NET pairings of every version from C# 1.0 to C# 10; compiling the same code with different LangVersion values to see how the compiler tells you which feature came from which version.

7 Nov 2026 13 min 8
What's New in C# 11: Raw Strings, required and List Patterns
Backend PART 02

What's New in C# 11: Raw Strings, required and List Patterns

How we wrote it in C# 10 and how we write it in C# 11: raw string literals and the culture trap, required members and SetsRequiredMembers, list patterns, generic math with its language and library legs, file-local types and UTF-8 literals.

7 Nov 2026 8 min 8
What's New in C# 12: Primary Constructors and Collection Expressions
Backend PART 03

What's New in C# 12: Primary Constructors and Collection Expressions

C# 12 next to its C# 10 equivalents: why a primary constructor is a parameter rather than a property and the CS9124 warning, square-bracket collection expressions and spread, default lambda parameters, alias any type, inline arrays, the Experimental attribute and a note on interceptors.

7 Nov 2026 8 min 7
What's New in C# 13: params Collections, Lock and Partial Properties
Backend PART 04

What's New in C# 13: params Collections, Lock and Partial Properties

C# 13 next to its C# 10 equivalents: the new Lock type and the CS9216 trap, params collections with an allocation measurement, ref structs implementing interfaces and allows ref struct, partial properties, OverloadResolutionPriority, the \e escape and ^ indexes in initializers.

7 Nov 2026 8 min 7
What's New in C# 14: Extension Members, field and Null-Conditional Assignment
Backend PART 05

What's New in C# 14: Extension Members, field and Null-Conditional Assignment

C# 14 next to its C# 10 and C# 13 equivalents: null-conditional assignment skipping the right-hand side, extension properties, static extension members and extension operators, the field keyword, arrays converting to spans, nameof(List<>), lambda parameter modifiers, partial constructors/events and compound assignment operators.

7 Nov 2026 8 min 5
Upgrading C# and .NET: Moving an Old Project to .NET 10
Backend PART 06

Upgrading C# and .NET: Moving an Old Project to .NET 10

Moving a .NET 6 project to .NET 10: the support calendar, how LangVersion relates to the TFM and the latest trap, pinning the SDK with global.json, reading the real CS8981 and CS9258 warnings, the silent behavior change of the field keyword and reading breaking-change pages; C# 15 gets its own post.

7 Nov 2026 10 min 9
Blog Map