你现在的位置
读完这 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 |
方向 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# 团队规模时常有人对比
学习方法
- 做项目:跟着 Microsoft Learn 路径 或 《C# in Depth》(Jon Skeet) 写真实小应用
- 读 BCL 源码:github.com/dotnet/runtime——
List<T>/Dictionary<K,V>的实现值得读 - 关注更新:devblogs.microsoft.com/dotnet、Stephen Toub 的性能文 年度必读
- 实战仓库:eShopOnContainers、Clean Architecture
🎉 C# 系列完结。继续往 Java 看(java/ 系列)或回过头读 C# 编程规范官方指南——把刚学的写得更规范。