csharp14-dotnet10-featureslisted
Install: claude install-skill GuerthCastro/claude-skills-dotnet
# C# 14 and .NET 10: What Is New
Author: Guerth Castro (github.com/GuerthCastro). Licensed under MIT.
Quick reference for the language and platform features introduced in C# 14, which ships with
the .NET 10 SDK (released November 2025). Use it to confirm a construct is actually available
before suggesting it, and to explain why a modern idiom works the way it does.
This is an original summary of publicly documented features. Verify current behavior against
Microsoft Learn before relying on any detail here, since this area moves quickly and the docs
are the authority.
## When to use this
- Reviewing or writing C# for `<TargetFramework>net10.0</TargetFramework>` and deciding whether
a C# 14 construct is idiomatic in that spot.
- The user asks what changed between an older C# version and C# 14, or between .NET 9 and 10.
- Deciding whether an old workaround, such as a hand written backing field or a static class
extension method, can now be simplified.
- Flagging a breaking change during a migration, for example `field` becoming a contextual keyword.
## C# 14 language features
### `field` keyword for auto backed properties
Custom get and set logic without declaring a private backing field. The compiler synthesizes it
and you refer to it through the contextual keyword `field`:
```csharp
public string? FavoritePrimaryColor
{
get => field;
set => field = Validate(value);
}
```
Breaking change: an existing accessor that declared a local variable literally named