你现在的位置

读完这 20 篇你能:

  • 写现代 C# 12/13 语法(top-level、records、pattern matching、required、nullable)
  • 用 LINQ 处理集合
  • 写异步代码 + 理解 Task
  • 设计类 / 接口 / 泛型
  • 调 NuGet 包、跑测试、发布

下一步看你想往哪走——以下是 C# 生态地图。

方向 1:Web 后端(最大职场刚需)

ASP.NET Core——微软主推的现代 Web 框架。

// Program.cs(Minimal API)
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();

app.MapGet("/", () => "Hello, World!");
app.MapGet("/users/{id}", (int id) => new { Id = id, Name = $"User {id}" });

app.Run();

学:

  • Minimal API + Controllers
  • Routing / Model Binding / Validation
  • 中间件 (middleware)
  • DI 容器(IServiceCollection
  • 配置 (appsettings.json)
  • 身份认证(Auth.JWT / Identity)

资源:Microsoft Learn ASP.NET Core path

方向 2:ORM / 数据库

EF Core

public class AppDb : DbContext
{
    public DbSet<User> Users => Set<User>();
}

// LINQ 直接转 SQL
var adults = db.Users.Where(u => u.Age >= 18).ToList();

学:DbContext、迁移(Migrations)、Include / 性能、并发控制。

替代品:Dapper(轻量 micro-ORM)、SqlSugar(国内活跃)。

方向 3:桌面应用

框架 平台 推荐
WinUI 3 Windows 10/11 微软现在押宝
WPF Windows 老牌,生态最完整
WinForms Windows 古老但还在维护
MAUI Win / Mac / iOS / Android 跨平台官方方案
Avalonia Win / Mac / Linux / Web / 移动 真跨平台、社区活跃
Uno Platform 多平台 商业

新桌面项目优先 Avalonia——开源、生态好、Linux 支持。

方向 4:游戏开发

Unity:用 C# 写游戏,全球第一大引擎。

  • 学 Unity 自己的 API(GameObject / MonoBehaviour)
  • C# 知识 90% 可直接用——但 Unity 用旧版 mono 运行时(最近迁移到 .NET 8)
  • ECS / DOTS / Job System 是新方向

Godot 4:开源、轻量,也支持 C#。

MonoGame / FNA:底层 2D 游戏框架。

游戏专题在本站 gamedev/ 系列(后续填)。

方向 5:移动 / 跨平台

  • .NET MAUI:官方跨平台(iOS / Android / Win / Mac)
  • Avalonia:UI 框架 + 跨平台
  • Uno Platform:商业方案

国内移动开发还是 Flutter / RN 主流;.NET 移动适合"已有 .NET 团队"。

方向 6:工程实践

这套教程没展开的——真实项目里都要会

主题 关键内容
测试 xUnit / NUnit / Moq / FluentAssertions
DI Microsoft.Extensions.DependencyInjection
日志 Serilog / ILogger / OpenTelemetry
配置 appsettings.json / 用户机密 / 环境变量
HTTP 客户端 HttpClientFactory / Polly
JSON System.Text.Json(不要 Newtonsoft)
发布部署 Docker / AOT / single-file / 自包含
诊断 dotnet-trace / dotnet-counters / Visual Studio Profiler

资源:Microsoft Learn .NET 路径

方向 7:性能 / 系统

  • Span / Memory:零分配处理
  • ref struct:栈上结构
  • SIMD:硬件加速
  • System.IO.Pipelines:高性能 IO
  • Native AOT:编译成原生码,启动 50ms
  • Source Generators:编译时代码生成(取代反射)

经典书:《Pro .NET Performance》、《Writing High-Performance .NET Code》。

方向 8:服务端 / 云

  • gRPC(在 .NET 生态非常香)
  • SignalR 实时通信
  • Hosted Service / Worker Service:后台任务
  • MassTransit / NServiceBus:消息总线
  • Orleans:分布式 actor 框架

方向 9:领域驱动 / 架构

  • DDD(领域驱动设计)
  • CQRS + MediatR
  • 事件溯源(EventStore)
  • Clean / Onion Architecture

资源:Eric Evans《领域驱动设计》、Steve Smith Clean Architecture template

方向 10:横向语言对比

学了 C# 看这些回头会更通透:

  • F#:函数式 .NET 语言
  • TypeScript:很多 idea 互相借鉴
  • Kotlin / Java:JVM 对应
  • Rust:低层 + 严格的兄弟语言
  • Go:简单 + 并发;C# 团队规模时常有人对比

学习方法

  1. 做项目:跟着 Microsoft Learn 路径《C# in Depth》(Jon Skeet) 写真实小应用
  2. 读 BCL 源码github.com/dotnet/runtime——List<T> / Dictionary<K,V> 的实现值得读
  3. 关注更新devblogs.microsoft.com/dotnetStephen Toub 的性能文 年度必读
  4. 实战仓库eShopOnContainersClean Architecture

🎉 C# 系列完结。继续往 Java 看(java/ 系列)或回过头读 C# 编程规范官方指南——把刚学的写得更规范。