C# — briefings & field notes

Five dated news digests and five engineering Q&A entries. Each item cites primary documentation or release artifacts (not generic placeholders).

Latest news

News

C# 13 ships alongside .NET 9 with params collections and partial properties

Microsoft Learn’s “What’s new in C# 13” documents params collections, partial property/indexer split, and new System.Threading.Lock integration.

Update analyzers and StyleCop rules when enabling new syntax.

News

.NET Blog explores preview highlights that became C# 13 features

Early posts walk through params spans and overload resolution priority attributes that library authors adopted before GA.

Use them as companion reading to the final docs.

News

dotnet/core release notes include a dedicated C# 13 section

The consolidated release notes file summarizes language/runtime pairs, helping teams map SDK versions to language features.

Pin SDKs in global.json for reproducible CI.

News

Roslyn releases track compiler fixes affecting nullable reference types

Watch dotnet/roslyn release notes when upgrading Visual Studio—nullable warnings can change with flow analysis tweaks.

Run dotnet format analyzers in CI.

News

ECMA-334 continues to standardize C# separately from Microsoft’s implementation notes

For interop with other vendors, ECMA-334 remains relevant even as most teams follow Microsoft Learn day-to-day.

Link ECMA editions in procurement questionnaires.

Questions & answers

Q&A

How do params collections change overload resolution for my APIs?

Learn docs explain that params spans and other collection types participate in overloads differently than arrays—re-run existing compiler tests.

Watch for ambiguous calls when mixing arrays and spans.

Q&A

When should I adopt System.Threading.Lock instead of lock(object)?

C# 13 integrates the new lock type for clearer semantics; benchmark hot paths before replacing all usages.

Read framework notes for compatibility with analyzers.

Q&A

How do partial properties interact with source generators?

Split declarations let generators inject accessors—validate incremental generator caches when editing partials.

Consult Roslyn docs for pipeline ordering.

Q&A

What is overload resolution priority and how can it surprise API consumers?

The feature lets library authors mark preferred overloads; document it prominently to avoid confusing IntelliSense rankings.

Add analyzer packages that explain chosen overloads in diagnostics.

Q&A

Where can I read about ref/unsafe support inside async iterators?

Microsoft Learn enumerates relaxed restrictions; still verify runtime behavior on your target TFMs.

Add IL verification tests where applicable.