Pillar guide

C#: a working guide for .NET developers

Updated May 06, 2026

This guide is the entry point for C# on dotnetnews.co. It collects the writing we have curated on C# into one page so you can orient yourself fast: what C# is in working .NET projects today, why it matters, what to read next, and where teams keep tripping over the same problems.

If you want the full back-catalog, the C# topic page lists every issue we have ever tagged with csharp (currently 313 curated issues). This pillar narrows that down to the pieces that earn re-reading and threads them into a working narrative.

What C# actually is in a working .NET project

In .NET teams we see in 2025 and 2026, C# is rarely a single feature pulled off a shelf. It is a set of practices that touches your build, your test loop, and the way you describe your system to the next person who joins. It is also moving target: the .NET 8 -> .NET 10 cycle changed defaults, the C# language has shipped new sugar nearly every year, and the tooling around C# has consolidated faster than most teams can keep up with.

That makes a curated reading map valuable. Most working developers do not have the cycles to read every release-notes post, every Azure devblog, and every Medium write-up. The .NET News Daily archive does that triage. This page lifts the most useful threads out of that archive and points to where to start.

If you are new to C# or coming back after a long break, read the first three issues in the reading map below in order. They give you the current vocabulary plus a sense of where the rough edges live.

Why C# matters for .NET teams in 2026

Three working observations from the curation work:

  • The defaults moved. What used to be ceremony in older .NET projects is now scaffolded out of the box, but only if you start a new project. Most teams are not on the latest scaffold; that’s where C# questions surface.
  • The community absorbed Azure-shaped opinions. A lot of C# writing in the last 18 months has been “this is how we did it on Azure” with the surrounding pattern still applicable everywhere. Read for the pattern, not the cloud.
  • The toolchain rewards small upgrades. Most teams that pay down a single C# debt every release end up months ahead of teams that wait for a “big rewrite”. The reading map below is biased toward those small upgrades.

The pieces below were curated because they keep coming up in real conversations: PRs, retros, code reviews, and the kind of question that lands in a Slack channel at 4pm on a Friday.

Reading map: start here

The first three issues are the ones to read in order. The rest are good as you need them.

1. Issue #451 - Common Challenges Developers Face with .NET Services and How

Start here (1 of 3). Common Challenges Developers Face with .NET Services and How. Issue #451 of .NET News Daily for May 8, 2026. (2026-05-08)

2. Issue #450 - Zero To First Agent (Azure OpenAI)

Start here (2 of 3). Zero To First Agent (Azure OpenAI). Issue #450 of .NET News Daily for May 7, 2026. (2026-05-07)

3. Issue #449 - C# / .NET Performance, C# / .NET, High

Start here (3 of 3). C# / .NET Performance, C# / .NET, High. Issue #449 of .NET News Daily for May 6, 2026. (2026-05-06)

4. Issue #448 - Cleaning Migrations in EF Core 10

Cleaning Migrations in EF Core 10. Issue #448 of .NET News Daily for May 5, 2026. (2026-05-05)

5. Issue #447 - I Rebuilt nanoGPT in C# So .NET Developers Can Understand LL

I Rebuilt nanoGPT in C# So .NET Developers Can Understand LL. Issue #447 of .NET News Daily for May 4, 2026. (2026-05-04)

6. Issue #446 - Chat History Storage Patterns in Microsoft Agent Framework

Chat History Storage Patterns in Microsoft Agent Framework. Issue #446 of .NET News Daily for May 1, 2026. (2026-05-01)

7. Issue #445 - I Wasted 68 Minutes a Day Re

I Wasted 68 Minutes a Day Re. Issue #445 of .NET News Daily for Apr 30, 2026. (2026-04-30)

8. Issue #444 - Newtonsoft.Json vs System.Text.Json Which Should You Use in

Newtonsoft.Json vs System.Text.Json Which Should You Use in. Issue #444 of .NET News Daily for Apr 29, 2026. (2026-04-29)

9. Issue #443 - Serialization vs Deserialization in .NET

Serialization vs Deserialization in .NET. Issue #443 of .NET News Daily for Apr 28, 2026. (2026-04-28)

10. Issue #442 - Removing byte[] allocations in .NET Framework using ReadOnly

Removing byte[] allocations in .NET Framework using ReadOnly. Issue #442 of .NET News Daily for Apr 27, 2026. (2026-04-27)

11. Issue #441 - Middleware in ASP.NET Core

Middleware in ASP.NET Core. Issue #441 of .NET News Daily for Apr 24, 2026. (2026-04-24)

12. Issue #440 - Stop juggling package managers, Source Generator

Stop juggling package managers, Source Generator. Issue #440 of .NET News Daily for Apr 23, 2026. (2026-04-23)

13. Issue #438 - Visualizing Claude Code MCP Requests with Coding Agent Explo

Visualizing Claude Code MCP Requests with Coding Agent Explo. Issue #438 of .NET News Daily for Apr 21, 2026. (2026-04-21)

14. Issue #437 - EF Core Query Performance, Testing Needs a Seam

EF Core Query Performance, Testing Needs a Seam. Issue #437 of .NET News Daily for Apr 20, 2026. (2026-04-20)

Looking for the rest? The full C# archive lives on the C# topic page.

Common pitfalls

Patterns we see across the curated archive when teams trip on C#:

1. Treating C# as a one-off project

The teams that handle C# cleanly fold it into every release as small, ratcheting upgrades. Teams that defer it end up with a quarter-long tax. Several issues in the reading map above describe exactly this gap; the most recent one is a good five-minute read on the topic.

2. Reaching for a library before reading the standard library

The .NET BCL keeps absorbing what used to be third-party. Teams that stay on libraries from 2020 are paying for code the runtime now ships. Look at how recent issues handle the same problem with built-ins before you adopt a new dependency.

3. Skipping the test loop

If a C# change does not have a test that fails before the change and passes after, you cannot trust the upgrade. The curated archive includes several walkthroughs of test setups that catch regressions early. Use them.

4. Confusing the documentation surface for the production surface

What works in a docs example often does not survive a production load profile. Read the curated issues for the post-mortem-flavored ones, not the marketing-flavored ones.

5. Underestimating the cost of un-tagged dependencies

A surprising number of C# regressions in the curated archive came from a transitive dependency, not from the team’s own code. The fix is dull but worth doing once: pin versions, audit the dependency tree on each release, and treat indirect updates the same way you would treat direct ones. Several issues in the reading map walk through real-world examples of this exact pattern.

6. Skipping observability until production breaks

Teams that wait until C# causes a customer-facing incident to add tracing or structured logs end up paying the worst version of that bill. The curated archive includes several walkthroughs of the cheapest observability slices that catch C# regressions before they ship; they are listed under the observability topic.

FAQ

Q: I have never touched C#. Where do I start? A: The first three entries in the reading map above are sequenced exactly for that. Read them in order; expect to spend an hour. Then bookmark the topic page and check it once a week.

Q: Does C# change much between .NET versions? A: Yes. The patterns are stable but the defaults move. The curated archive is dated; read the most recent issue first to see the current shape, then read older issues for the why.

Q: How does C# interact with the rest of the .NET stack? A: It depends on which slice you mean. The reading map above is intentionally cross-cutting: a few entries cover the runtime, a few cover the tooling, a few cover the libraries built on top. Pick the slice that matches your project today.

Q: I want to share this with my team. What is the one-page summary? A: This page. Send the link. The topic page is the deeper archive when they want more.

Q: What if a curated issue is out of date? A: Curated issues stay in the archive even when the underlying tech moves. The pillar page is updated quarterly to keep the order honest. If you spot a stale recommendation, reply to any issue and we will refresh.

  • .NET Core - the working guide for the .NET Core surface area.
  • ASP.NET Core - the working guide for the ASP.NET Core surface area.
  • Performance - the working guide for the Performance surface area.
  • EF Core - the working guide for the EF Core surface area.

Subscribe

Get the daily digest. Curated C# issues land in your inbox the morning they go live. Subscribe to .NET News Daily.