0Pricing
C# Academy icon

C# Academy

C_SHARPBackendWebGamesDesktopMobileFrontendBeginnerCloudDatabaseEnterprise

掌握 C# 编程,使用 C# Academy 开发多功能软件解决方案。

🤖 AI 驱动📚 93 门课程👥 10万+ 学习者⭐ 4.9 分
课程概览

C# — 一种语言,整个 .NET 生态系统

C# 是 .NET 平台的主要语言,用于构建 Web API、桌面应用、实时服务、云原生工作负载和游戏。它以稳定的节奏提供现代语言特性 — records、主构造函数、required 成员、模式匹配、Span<T> — 同时保持静态类型、垃圾回收语言的特性,并拥有成熟的工具链。本课程涵盖全面内容:从你的第一个变量到源生成器、CQRS 和 Native AOT。

你将学到什么

你将从类型、控制流、字符串、数组和方法开始,然后进入对象模型 — 类、继承、结构体、records 和接口。中级内容涵盖 LINQ、async/await、泛型、委托、Entity Framework Core、ASP.NET Core Minimal APIs、SignalR 和 Blazor 组件。在后端,你将学习依赖注入、中间件、JWT 认证、授权策略、FluentValidation、速率限制、使用 Redis 的分布式缓存和 Polly 的弹性模式。高级课程涉及 Span<T> 和内存管理、反射、表达式树、使用 MediatR 的 CQRS、使用 MassTransit 的消息队列、OpenTelemetry、并行性和 Native AOT 性能优化。

学习路径

八十二门活跃课程涵盖 A1 至 C2 级别。A1 和 A2 课程建立语言基础 — 变量、运算符、枚举、类型推断和字符串插值。B1 涵盖完整的面向对象模型以及现代语法,如元组、解构、范围和集合表达式,最后以小项目结尾:Shape Library。B2 深入探讨 .NET 运行时及其生态系统:EF Core、ASP.NET Core API、gRPC、SignalR、Blazor、后台工作程序、单元测试和带 async/await 的任务。C1 课程涉及生产级别的关注点 — 高级异步模式、模式匹配深度探讨、高级泛型和约束、CQRS 和 MediatR 模式、取消和超时、并行性和数据处理,以及 Span<T> 和内存。课程在 C2 级别结束,内容是源生成器。

工作原理

每门课程分为简短、专注的课时,你在内置代码编辑器中完成这些课时并获得实时反馈。当你遇到困难时,AI 导师随时可用,练习直接针对实时 C# 运行时运行,因此你可以立即看到结果,无需任何本地配置。

开始学习 →

你的学习方式

🎯
互动课程
实时反馈的动手编程练习
🤖
AI 导师
遇到困难时立即获得 AI 帮助
💻
内置编辑器
直接在浏览器中编写并运行代码
🏆
证书
完成课程后获得证书
课程

93 门课程

C# Academy 学习路径中的所有课程。

01

C# 编程入门

A13 节课

深入学习 C# 编程基础——C# 是一种功能强大且适合初学者的语言,可用于创建从桌面应用到网页和游戏的各种应用程序。在本类别中,您将设置开发环境、编写第一个程序,并学习变量、输入/输出和注释等基本概念。这些课程将为您的编程之旅打下基础。

02

使用 C# 学习编程——第 2 部分

A13 节课PRO

深入学习 C# 编程基础——这是一门功能强大且适合初学者的语言,可用于创建从桌面应用到 Web 应用和游戏的各种程序。在本类别中,您将配置开发环境、编写第一个程序,并学习变量、输入/输出和注释等基本概念。这些课程将为您的编程之旅打下基础。

03

C# 入门:概念与配置

A13 节课PRO

从 CLR/.NET 运行时、JIT 与 AOT 基础、SDK 和 dotnet CLI 开始学习 C#,并编写您的第一个程序。针对小屏幕设计,帮助您快速获得成果。

04

类型与变量基础

A13 节课PRO

掌握构建程序的基础:值类型与引用类型、字面量和数值后缀、 var 类型推断,以及常量与只读字段的区别。

05

C# 快速复习

A15 节课PRO

通过控制流、循环、数组和字符串课程,掌握 C# 编程的构建模块。本类别将教您如何在代码中进行决策、高效完成重复任务以及管理数据集合。课程结束时,您将具备用 C# 解决实际问题的工具。

06

C# 运算符与表达式

A24 节课PRO

掌握 C# 中的算术、比较、逻辑和位运算符,以及运算符优先级。

07

var、dynamic 与类型推断

A24 节课PRO

在现代 C# 中正确选择 var、dynamic 和显式类型声明。

08

字符串格式化与插值

A24 节课PRO

使用插值、复合格式化和格式说明符,构建易读的格式化文本。

09

深入理解枚举

A24 节课PRO

有效使用枚举,包括标志、基础类型和安全转换。

10

C# 数学与数值运算

A24 节课PRO

使用 C# 数值类型和 Math 自信地完成计算。

11

C# 处理数组

A24 节课PRO

使用数组存储和处理固定大小的数据集合。

12

C# foreach 与迭代模式

A24 节课PRO

使用 foreach 和惯用的迭代方式整洁地遍历数据。

13

C# 字符与文本基础

A24 节课PRO

检查和转换单个字符及字符串。

14

控制流基础

A23 节课PRO

学习基本控制流:if/else、经典 switch、循环、break/continue,以及通过清晰小例子掌握安全的 guard 检查。

15

方法与参数

A23 节课PRO

编写清晰的方法:签名与返回值、表达式主体成员(C# 6)、可选参数与命名参数、ref/out 基础、重载,以及局部函数简介。

16

字符串与文本

A23 节课PRO

处理文本:字符串不可变性、插值与转义序列、用于路径的逐字字符串、高效的 StringBuilder 、比较方式、区域性注意事项,以及 char 基础。

17

数组与集合(入门)

A23 节课PRO

开始学习核心集合: 数组 、 List<T> 和 Dictionary<TKey,TValue> 。学习简单切片和安全查找。

18

访问控制与命名空间

A23 节课PRO

使用 public 、 internal 、 protected 、 private 控制可见性;理解成员可以在哪里被访问。注意: file 修饰符比 C# 6 更新。

19

可空值类型

B14 节课PRO

使用 Nullable 、? 语法和感知空值的运算符,安全处理可选值类型。

20

属性与索引器

B14 节课PRO

使用属性、自动属性、表达式体成员和索引器封装状态。

21

构造器与对象初始化器

B14 节课PRO

使用构造器、构造器链和对象初始化器语法,整洁地初始化对象。

22

静态类与成员

B14 节课PRO

使用静态类、方法、字段和构造器,设计实用工具类型并管理共享状态。

23

元组与解构

B14 节课PRO

使用值元组、命名元素和解构,返回并拆分多个值。

24

装箱、拆箱与类型转换

B14 节课PRO

理解值语义与引用语义、装箱开销以及安全的类型转换。

25

C# DateTime 与 TimeSpan

B14 节课PRO

正确处理日期、时间和时长。

26

扩展方法

B14 节课PRO

使用扩展方法为现有类型添加行为,而无需修改这些类型。

27

局部函数与闭包

B14 节课PRO

使用嵌套局部函数组织逻辑,并理解闭包如何捕获状态。

28

范围与索引

B14 节课PRO

使用从末尾开始的索引和范围运算符,以富有表现力的方式切分数组和跨度。

29

集合表达式与展开

B14 节课PRO

使用 C# 12 集合表达式,以简洁的方式创建和组合集合。

30

主构造函数

B14 节课PRO

在类和结构体中使用 C# 12 主构造函数,减少样板代码。

31

必需成员与 init 设值器

B14 节课PRO

使用必需成员和仅限 init 的不可变属性,强制执行对象初始化。

32

C# 集合:List、Dictionary、HashSet

B14 节课PRO

为任务选择并使用合适的集合。

33

C# 可空类型与空值运算符

B14 节课PRO

使用现代空值处理运算符编写空安全的 C# 代码。

34

面向对象编程(OOP)基础

B17 节课PRO

探索 C# 中面向对象编程(OOP)的基本原则,包括类、对象和继承。学习如何通过属性、方法和构造函数封装数据、复用代码并扩展功能。本类别将带您了解如何创建模块化且可复用的代码结构,这是每位软件开发者都必须掌握的基础。

35

文件与数据处理

B15 节课PRO

学习读取和写入文件、处理 JSON 与 XML 以及使用数据库,像专业人士一样处理数据。本类别将帮助您掌握高效管理数据的知识,无论是存储用户输入、查询数据库,还是使用可靠的异常处理技术处理错误。

36

类与对象

B13 节课PRO

使用 字段 和 自动属性 创建简单类型,使用 对象初始化器 ,然后继续学习构造函数、静态成员和封装。

37

继承与抽象

B13 节课PRO

使用继承复用行为。掌握 virtual/override/sealed 、 抽象类 ,并通过接口为多态做好准备。

38

结构体、记录与枚举

B13 节课PRO

探索 结构体 (值类型)、类似记录的值相等概念(C# 6 模式),以及用于命名常量的 枚举 。

39

小项目:形状库

B13 节课PRO

构建一个小型 Shape 库:使用 接口 进行设计,实现各种形状,并使用 多态 计算面积和周长。

40

异常与资源安全

B13 节课PRO

使用 try/catch/finally 处理失败,了解何时应 throw ,并学习正确的 重新抛出 方式,以保留原始堆栈跟踪。

41

可空引用类型

B14 节课PRO

使用 C# 8+ 可空引用类型,在编译时消除 NullReferenceExceptions:学习注解、流程分析和迁移策略。

42

记录与不可变数据

B14 节课PRO

使用 C# 记录、仅限 init 的属性和 with 表达式,结合内置的相等语义,建模不可变值对象和领域实体。

43

配置与选项模式

B14 节课PRO

掌握 .NET 配置:appsettings.json、环境变量、机密信息、强类型 Options、IOptionsSnapshot 和验证。

44

NuGet 与打包

B13 节课PRO

创建可复用库并将其发布为 NuGet 包。学习项目类型、版本管理和打包基础。

45

诊断与日志记录

B13 节课PRO

使用 Debug/Trace 和小型日志抽象添加简单诊断,让输出可以路由到控制台、文件或工具。

46

迭代器与 yield return

B24 节课PRO

使用迭代器方法和 yield 关键字惰性生成序列。

47

运算符重载

B24 节课PRO

通过重载运算符和转换,让您的类型拥有自然直观的语法。

48

IComparable、IEquatable 与自定义相等性

B24 节课PRO

正确实现相等性与比较接口,让您的类型支持排序和比较。

49

C# 泛型约束与方法

B24 节课PRO

使用泛型和约束编写可复用且类型安全的代码。

50

C# switch 表达式与模式

B24 节课PRO

使用现代模式匹配,以富有表现力的方式进行分支处理。

51

使用 LINQ 进行筛选和投影

B24 节课PRO

使用 LINQ 最实用的运算符查询内存中的数据。

52

高级编程概念

B26 节课PRO

通过学习接口、抽象类和委托等 C# 高级特性,进一步提升您的编程技能。本类别将深入讲解能够帮助您编写整洁、高效且可扩展代码的高级主题。您还将探索集合和事件,掌握在应用程序中管理数据和交互的强大工具。

53

构建桌面应用程序

B23 节课PRO

使用 Windows Forms 构建交互式桌面应用程序,让您的技能真正发挥作用。在本类别中,您将设计用户界面、处理事件,并创建计算器和待办事项列表等实用项目。学完后,您将能够构建专业级桌面应用程序。

54

泛型 I

B23 节课PRO

使用 泛型 构建类型安全且可复用的代码:学习泛型方法和泛型类型,以及 class、struct、new() 和接口边界等核心 约束 。

55

委托、Lambda 与事件

B23 节课PRO

使用 委托 将方法作为值传递,编写简洁的 Lambda ,并理解变量 闭包 ;为下一步学习 C# 事件做好准备。

56

.NET 中的依赖注入

B24 节课PRO

掌握内置的 .NET DI 容器:注册服务、生命周期(瞬时、作用域、单例)、构造函数注入,以及用于构建整洁且易于测试的架构的工厂模式。

57

Entity Framework Core 基础

B24 节课PRO

快速掌握 EF Core:DbContext、DbSet、迁移、CRUD 操作,以及代码优先工作流中的关系。

58

ASP.NET Core 最小 API

B24 节课PRO

使用 .NET 6 引入的最小 API 模型构建轻量且高性能的 HTTP API:路由、验证、中间件和 OpenAPI 集成。

59

SignalR 实时通信

B24 节课PRO

使用 SignalR 中心、组、后端节点和强类型客户端,为 .NET 应用添加实时推送能力。

60

Blazor 组件与状态

B24 节课PRO

使用 Blazor 和 C# 构建交互式 Web 用户界面:组件、数据绑定、事件处理、依赖注入和状态管理模式。

61

中间件与请求管道

B24 节课PRO

理解并构建 ASP.NET Core 中间件:请求/响应管道、短路处理、自定义中间件类,以及最佳执行顺序实践。

62

后台服务与工作进程

B24 节课PRO

使用 IHostedService、BackgroundService、Worker Services 和 Quartz.NET 在 .NET 中运行长时间任务及定时作业。

63

LINQ 基础

B23 节课PRO

学习 LINQ 基础:构建 IEnumerable<T> 处理管道,理解 延迟执行 以及结果何时会被具体化。

64

集合 II

B23 节课PRO

认识更多核心集合: HashSet<T> 、 SortedSet<T> 、 Queue<T> 和 Stack<T> 。了解它们的结构(集合、FIFO、LIFO)以及各自的适用场景。

65

文件与序列化

B23 节课PRO

使用 System.IO 处理路径、文件和流。学习安全的读写模式,以及用于检查文件是否存在的简单方法。

66

单元测试基础

B23 节课PRO

开始在 C# 中进行测试:理解测试结构、常见框架(MSTest/xUnit),以及断言如何将预期结果转化为通过或失败。

67

.NET 中的 gRPC

B24 节课PRO

使用 gRPC、Protobuf、流式传输以及 .NET 中的截止期限和取消模式,构建强类型、高性能的服务间通信。

68

ASP.NET Core 中的 JWT 身份验证

B24 节课PRO

使用 JSON Web Token 身份验证、验证和令牌签发来保护 Web API。

69

授权策略与声明

B24 节课PRO

在 ASP.NET Core 中使用基于角色、声明和策略的授权来控制访问。

70

API 版本控制与 OpenAPI

B24 节课PRO

以清晰规范的方式管理 API 版本,并使用 OpenAPI 生成交互式文档。

71

速率限制与输出缓存

B24 节课PRO

使用内置的速率限制和输出缓存中间件来保护并加速 API。

72

FluentValidation 与模型验证

B24 节课PRO

使用数据注解和 FluentValidation 库,对输入进行稳健验证。

73

使用 Polly 实现弹性

B24 节课PRO

使用 Polly 通过重试、断路器和超时机制构建容错应用。

74

使用 Redis 实现分布式缓存

B24 节课PRO

在 .NET 中使用 Redis 支持的分布式缓存扩展应用规模。

75

任务与 async/await

B23 节课PRO

掌握 Task 和 async/await 的思维模型:异步方法返回什么、await 如何安排后续操作,以及编译器为何会构建状态机。ValueTask 仅作概念性介绍。

76

表达式树基础

C14 节课PRO

使用表达式树将代码表示为数据,以支持动态查询和运行时编译。

77

C# 高级特性

C15 节课PRO

通过学习泛型、异步编程、多线程和反射,解锁 C# 的高级能力。本类别将教您编写灵活高效的代码、管理并行任务,并深入了解程序的内部运行机制,为应对复杂的真实项目做好准备。

78

LINQ 进阶

C13 节课PRO

深入学习 LINQ:使用 GroupBy 、 Join 、 Aggregate ,并通过 匿名类型 进行简洁的投影。

79

EF Core 高级查询

C14 节课PRO

超越基础内容:学习预先加载与延迟加载、原始 SQL、编译查询、拥有的实体,以及用于生产级数据访问的全局查询筛选器。

80

高级异步模式

C14 节课PRO

超越基础的 async/await:学习 IAsyncEnumerable、通道、ValueTask、ConfigureAwait,以及用于构建可扩展 .NET 系统的结构化并发模式。

81

原生 AOT 与性能

C14 节课PRO

使用 AOT 将 .NET 应用编译为独立的原生二进制文件:学习裁剪分析、反射限制、ReadyToRun,以及使用 BenchmarkDotNet 进行基准测试。

82

C# 与原生代码互操作

C14 节课PRO

使用 P/Invoke、LibraryImport、不安全代码、固定缓冲区和 COM 互操作技术,从 C# 调用原生库和 OS API。

83

CQRS 与 MediatR 模式

C14 节课PRO

使用 CQRS 模式和 MediatR 分离读写操作,并解耦处理程序。

84

OpenTelemetry 与可观测性

C14 节课PRO

通过 OpenTelemetry 为 .NET 应用添加分布式追踪、指标和结构化日志记录。

85

使用 MassTransit 构建消息队列

C14 节课PRO

使用消息队列和 MassTransit 框架构建事件驱动系统。

86

模式匹配深入学习

C13 节课PRO

理解模式匹配的概念,并学习如何在 C# 6 中使用经典技术 模拟 这些功能: is 加类型转换、守卫辅助方法和简单谓词。

87

高级泛型与约束

C13 节课PRO

使用 C# 6 支持的泛型 约束 (class/struct/new()),并学习针对更新版本中 notnull/unmanaged 概念的实用 模拟方案 。

88

Span&lt;T&gt; 与内存

C13 节课PRO

理解节省内存的切片方式。在 C# 6 中,使用 ArraySegment<T> 、偏移量和谨慎设计的 API 来模拟 Span/ReadOnlySpan,避免额外分配。

89

反射与特性

C13 节课PRO

了解反射基础:获取 Type 、查找 MethodInfo 、通过 Activator 创建对象,以及读取 自定义特性 ——全部兼容 C# 6。

90

取消与超时

C13 节课PRO

使用 CancellationToken 实现协作式取消:传递令牌,轮询 IsCancellationRequested,抛出 OperationCanceledException ,并连接取消源。

91

并行与数据处理

C13 节课PRO

使用 Parallel.ForEach 和 PLINQ 更快地处理数据。学习并行度、顺序控制和副作用安全。

92

脚本与互操作

C13 节课PRO

使用 C# 脚本快速验证想法:学习 dotnet script、REPL/代码片段,以及无需完整项目即可编写快速衔接代码。

93

源代码生成器(入门)

C22 节课PRO

理解 C# 源代码生成器是什么以及它们为何有用,并学习如何在 C# 6 中使用特性、部分类和简单代码模板来模拟这一理念。

常见问题

常见问题解答

C# Academy 课程免费吗?

免费。你可以免费开始 C# Academy 课程并完成它的所有互动课程。可选的 PRO 订阅解锁高级 AI 工具和可分享的证书。

学习 C_SHARP 需要有先前的经验吗?

不需要。课程从基础开始,逐步进阶到更高难度的主题,所以即使你没有任何 C_SHARP 基础也可以开始。

我在 CoddyKit 上怎样学习 C_SHARP?

学以致用。简洁的互动课程将清晰的讲解与实时动手编程练习结合,24/7 AI 导师在你遇到困难时提供个性化帮助。

完成 C# Academy 后能获得证书吗?

可以。PRO 学员可以参加考试,获得 C# Academy 课程的可分享的完成证书,其中包含可验证的代码。

我能在手机上学习 C_SHARP 吗?

可以。CoddyKit 支持网页版和原生 iOS、Android 应用,你可以在任何设备上学习 C_SHARP,进度会自动同步。

立即开始 C# Academy

加入数千名学习者,通过 AI 驱动的课程掌握编程。

免费开始 →浏览所有课程